我有一个文件作为 part-m-00000.gz.parquet
存储在 HDFS 中
我尝试运行 hdfs dfs -text dir/part-m-00000.gz.parquet
但它被压缩了,所以我运行了 gunzip part-m-00000.gz。 parquet
但它不会解压缩文件,因为它无法识别 .parquet
扩展名。
如何获取此文件的模式/列名称?
最佳答案
您将无法使用 hdfs dfs -text “打开”文件,因为它不是文本文件。与文本文件相比,Parquet 文件写入磁盘的方式非常不同。
同样,Parquet 项目提供了 parquet-tools 来执行您正在尝试执行的任务。打开并查看模式、数据、元数据等。
查看 parquet-tool 项目 parquet-tools
此外,支持 Parquet 并为 Parquet 做出重大贡献的 Cloudera 也有一个不错的页面,其中包含有关 parquet-tools 用法的示例。该页面中针对您的用例的示例是
parquet-tools schema part-m-00000.parquet
检查 Cloudera 页面。 Using the Parquet File Format with Impala, Hive, Pig, HBase, and MapReduce
关于hadoop - 如何从 parquet 文件中获取模式/列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33883640/