How to copy and convert parquet files to csv

时间:2016-09-09 21:29:28

标签: python hadoop apache-spark pyspark parquet

I have access to a hdfs file system and can see parquet files with

hadoop fs -ls /user/foo

How can I copy those parquet files to my local system and convert them to csv so I can use them? The files should be simple text files with a number of fields per row.

3 个答案:

答案 0 :(得分:11)

尝试

/path/to/infile.parquet

相关API文档:

/path/to/outfile.csvhdfs://...都应该是hdfs文件系统上的位置。您可以明确指定file://...,也可以省略它,因为它通常是默认方案。

您应该避免使用hdfs dfs -get /path/to/outfile.csv /path/to/localfile.csv ,因为本地文件意味着群集中每台计算机都有不同的文件。输出到HDFS,然后使用命令行将结果传输到本地磁盘:

hdfs dfs -cat /path/to/outfile.csv

或直接从HDFS显示:

"song"

答案 1 :(得分:2)

如果在Hive中的这些镶木地板文件上定义了一个表(或者如果您自己定义了这样的表),则可以对其运行Hive查询并将结果保存到CSV文件中。尝试以下方面:

insert overwrite local directory dirname
  row format delimited fields terminated by ','
  select * from tablename;

用实际值替换 dirname tablename 。请注意,指定目录中的所有现有内容都将被删除。有关详细信息,请参阅Writing data into the filesystem from queries

答案 2 :(得分:2)

更动态的表单片段,因为您可能不知道拼花文件的名称是什么,将是:

reloadTable()