我想将我的Parquet文件转换为CSV格式。 是否有相应的方法?因为我只能找到从CSV到Parquet文件的转换方法,但没有相反的。
我想将我的Parquet文件转换为CSV格式。 是否有相应的方法?因为我只能找到从CSV到Parquet文件的转换方法,但没有相反的。
当我使用Spark 2.1.0时,这对我起了作用。首先运行Spark shell。类似于:
./bin/spark-shell
接着:
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlContext.parquetFile("parquet-file.parquet")
df.printSchema()
df.write.format("csv").save("directory")
它将在目录
中创建csv文件。
val df = spark.read.parquet("infile.parquet")
df.write.csv("outfile.csv")
"infile.parquet"和"outfile.csv"都应该是HDFS文件系统上的位置。
这个在Spark中对我有用
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")
DataFrame df = sqlContext.parquetFile("parquet path");
df.javaRDD().saveAsTextFile("outputpath");
import pandas as pd
df = pd.read_parquet('myfile.parquet')
df.to_csv('myfile.csv')
使用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"