1. ホーム
  2. java

[解決済み] WindowsでApache Parquetファイルを見るには?

2022-03-07 01:08:49

質問

ApacheのParquetファイルについて、わかりやすい解説が見つかりませんでした。例えば、以下のようなものです。

  1. これは何ですか?
  2. 閲覧・作成・保存にはHadoopやHDFSが必要ですか?
  3. パーケットファイルはどのように作成するのですか?
  4. パーケットファイルの閲覧方法を教えてください。

これらの質問について、ご協力をお願いします。

解決方法は?

Apache Parquetとは何ですか?

Apache Parquetは、データを列方向に格納するバイナリファイル形式です。 Parquetファイル内のデータは、RDBMS形式のテーブルに似ていて、カラムと行があります。しかし、一度に一行ずつデータにアクセスするのではなく、通常は一度に一列ずつデータにアクセスします。

Apache Parquetは、最新のビッグデータストレージフォーマットの1つです。いくつかの利点がありますが、そのうちのいくつかを紹介します。

  • カラムナーストレージ 効率的なデータ検索、効率的な圧縮、などなど。
  • メタデータはファイルの末尾にある : ストリームデータから Parquet ファイルを生成することができます。(ビッグデータシナリオで一般的)
  • すべてのApacheビッグデータ製品でサポートされている

HadoopとHDFSのどちらが必要ですか?

ParquetファイルはHDFSだけでなく、どのようなファイルシステムにも保存することができます。前述の通り、これはファイルフォーマットです。ですから、他のファイルと同じように、名前と .parquet という拡張子を持つ。しかし、ビッグデータ環境では通常、1つのデータセットが複数のパーケットファイルに分割され、より効率的な運用が行われます。

すべてのApacheビッグデータ製品は、デフォルトでParquetファイルをサポートしています。そのため、Apacheのエコシステムの中にしか存在しないように見えるかもしれません。

Parquetファイルの作成/読み込みはどのように行うのですか?

前述の通り、Hadoop、Hive、Sparkなど、現在のApacheビッグデータ製品はすべてデフォルトでParquetファイルをサポートしています。

つまり、これらのシステムを活用して、Parquetデータを生成したり、読み込んだりすることが可能なのです。しかし、これは実用的とは言い難い。CSVファイルを読んだり作ったりするために、Hadoop/HDFSとHiveをインストールして設定しなければならないことを想像してみてください。幸いなことに、他の解決策があります。

独自のパーケットファイルを作成する。

パーケットファイルの内容を表示する。

他の方法はないのですか?

可能性はあります。しかし、多くは存在しませんし、ほとんどの場合、文書化もされていません。これは、Parquetが非常に複雑なファイルフォーマットであることが原因です(正式な定義も見つかりませんでした)。ここに挙げたものは、この回答を書いている時点で私が知っている唯一のものです。