Parquet 文件到 CSV 的转换
Parquet file to CSV conversion
我想将我的 Parquet 文件转换为 CSV 文件。
有没有一种方法可以像我一样只能找到 CSV 到 Parquet 文件,反之亦然。
DataFrame df = sqlContext.parquetFile("parquet path");
df.javaRDD().saveAsTextFile("outputpath");
这在我使用 spark 2.1.0 时很有效。第一个 运行 火花 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")
它将在 directory
中创建 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"
这在 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")
val df = spark.read.parquet("infile.parquet")
df.write.csv("outfile.csv")
“infile.parquet”和“outfile.csv”都应该是 hdfs 文件系统上的位置。
我看到的另一种简单方法是:
import pandas as pd
df = pd.read_parquet('myfile.parquet')
df.to_csv('myfile.csv')
我想将我的 Parquet 文件转换为 CSV 文件。 有没有一种方法可以像我一样只能找到 CSV 到 Parquet 文件,反之亦然。
DataFrame df = sqlContext.parquetFile("parquet path");
df.javaRDD().saveAsTextFile("outputpath");
这在我使用 spark 2.1.0 时很有效。第一个 运行 火花 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")
它将在 directory
使用 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"
这在 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")
val df = spark.read.parquet("infile.parquet")
df.write.csv("outfile.csv")
“infile.parquet”和“outfile.csv”都应该是 hdfs 文件系统上的位置。
我看到的另一种简单方法是:
import pandas as pd
df = pd.read_parquet('myfile.parquet')
df.to_csv('myfile.csv')