相关疑难解决方法(0)

使用python将csv转换为镶木地板文件

我想将.csv文件转换为.parquet文件.
csv文件(Temp.csv)具有以下格式

1,Jon,Doe,Denver
Run Code Online (Sandbox Code Playgroud)

我使用以下python代码将其转换为镶木地板

from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *
import os

if __name__ == "__main__":
    sc = SparkContext(appName="CSV2Parquet")
    sqlContext = SQLContext(sc)

    schema = StructType([
            StructField("col1", IntegerType(), True),
            StructField("col2", StringType(), True),
            StructField("col3", StringType(), True),
            StructField("col4", StringType(), True)])
    dirname = os.path.dirname(os.path.abspath(__file__))
    csvfilename = os.path.join(dirname,'Temp.csv')    
    rdd = sc.textFile(csvfilename).map(lambda line: line.split(","))
    df = sqlContext.createDataFrame(rdd, schema)
    parquetfilename = os.path.join(dirname,'output.parquet')    
    df.write.mode('overwrite').parquet(parquetfilename)
Run Code Online (Sandbox Code Playgroud)

结果只是一个名为的文件夹,output.parquet而不是我正在寻找的镶木地板文件,然后在控制台上出现以下错误.

CSV到Parquet错误

我也尝试运行以下代码来面对类似的问题.

from pyspark.sql import SparkSession
import os

spark = SparkSession \
    .builder \ …
Run Code Online (Sandbox Code Playgroud)

python csv parquet

19
推荐指数
5
解决办法
2万
查看次数

标签 统计

csv ×1

parquet ×1

python ×1