HDFSにpart-m-00000.gz.parquet
としてファイルが保存されています
hdfs dfs -text dir/part-m-00000.gz.parquet
を実行しようとしましたが、圧縮されているので、gunzip part-m-00000.gz.parquet
を実行しましたが、.parquet
拡張子を認識しないため、ファイルを解凍しません。
このファイルのスキーマ/列名を取得するにはどうすればよいですか?
テキストファイルではないため、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ファイル形式を使用
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
それが役に立てば幸い。
テキストファイルではないため、「-text」を実行できません。 parquet-toolsがインストールされていなくても、そのファイルをHiveテーブルにロードできれば、Hiveから簡単に読むことができます。