web-dev-qa-db-ja.com

寄木細工のファイルからスキーマ/列名を取得するにはどうすればよいですか?

HDFSにpart-m-00000.gz.parquetとしてファイルが保存されています

hdfs dfs -text dir/part-m-00000.gz.parquetを実行しようとしましたが、圧縮されているので、gunzip part-m-00000.gz.parquetを実行しましたが、.parquet拡張子を認識しないため、ファイルを解凍しません。

このファイルのスキーマ/列名を取得するにはどうすればよいですか?

12
Super_John

テキストファイルではないため、hdfs dfs -textを使用してファイルを「開く」ことはできません。寄木細工のファイルは、テキストファイルと比較して非常に異なる方法でディスクに書き込まれます。

また、Parquetプロジェクトには、同じようなタスクを実行するための寄木細工ツールが用意されています。スキーマ、データ、メタデータなどを開いて表示します.

Parquet-toolプロジェクト(簡単に言うとjarファイル)を確認してください。 parquet-tools

また、Parquetをサポートし、大きく貢献しているClouderaには、寄木細工ツールの使用例が記載されたNiceページもあります。そのページのユースケースの例は次のとおりです。

parquet-tools schema part-m-00000.parquet

Clouderaページをご覧ください。 Impala、Hive、Pig、HBase、MapReduceでParquetファイル形式を使用

19

Parquetファイルが私のようなHDFSまたはS3にある場合は、次のようなものを試すことができます。

HDFS

parquet-tools schema hdfs://<YOUR_NAME_NODE_IP>:8020/<YOUR_FILE_PATH>/<YOUR_FILE>.parquet

S3

parquet-tools schema s3://<YOUR_BUCKET_PATH>/<YOUR_FILE>.parquet

それが役に立てば幸い。

3
pdm

テキストファイルではないため、「-text」を実行できません。 parquet-toolsがインストールされていなくても、そのファイルをHiveテーブルにロードできれば、Hiveから簡単に読むことができます。

0
Daya Venkatesan