Parquet文件到CSV转换

时间:2015-10-06 06:51:31

标签: csv apache-spark parquet

我想将Parquet文件转换为CSV格式。 有没有办法相同,因为我只能找到CSV到Parquet文件,反之亦然。

6 个答案:

答案 0 :(得分:1)

当使用spark 2.1.0时,这对我有用。首先运行火花壳。类似的东西:

val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlContext.parquetFile("parquet-file.parquet")
df.printSchema()
df.write.format("csv").save("directory")

然后:

directory

它将在foreach ($data as $object) { echo "items:". $object['number'] ."\n"; };

中创建csv文件

答案 1 :(得分:1)

val df = spark.read.parquet("infile.parquet")

df.write.csv("outfile.csv")

“ infile.parquet”和“ outfile.csv”均应位于hdfs文件系统上。

答案 2 :(得分:0)

    DataFrame df = sqlContext.parquetFile("parquet path");  


    df.javaRDD().saveAsTextFile("outputpath");

答案 3 :(得分:0)

使用Spark和Python很简单:

for filename in glob.glob("[location_of_parquet_file]/*.snappy.parquet"):
        print filename
        df = sqlContext.read.parquet(filename)
        df.write.csv("[destination]")
        print "csv generated"

答案 4 :(得分:0)

这对我来说很有用。

spark-shell --packages com.databricks:spark-csv_2.11:1.2.0
val df = sqlContext.parquetFile("/hdfs/source.parquet")
df.printSchema()
df.write.format("com.databricks.spark.csv").save("/hdfs/target_csv")

答案 5 :(得分:0)

我看到的另一种简单方法是:

import pandas as pd
df = pd.read_parquet('myfile.parquet')
df.to_csv('myfile.csv')
相关问题