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.
答案 0 :(得分:11)
尝试
/path/to/infile.parquet
相关API文档:
/path/to/outfile.csv
和hdfs://...
都应该是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()