[解決済み] WindowsでApache Parquetファイルを見るには?
質問
ApacheのParquetファイルについて、わかりやすい解説が見つかりませんでした。例えば、以下のようなものです。
- これは何ですか?
- 閲覧・作成・保存にはHadoopやHDFSが必要ですか?
- パーケットファイルはどのように作成するのですか?
- パーケットファイルの閲覧方法を教えてください。
これらの質問について、ご協力をお願いします。
解決方法は?
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をインストールして設定しなければならないことを想像してみてください。幸いなことに、他の解決策があります。
独自のパーケットファイルを作成する。
- Javaでは、以下の投稿をご覧ください。 JavaによるParquetファイルの生成
- .NETでは、以下のライブラリをご参照ください。 パケットドットネット
パーケットファイルの内容を表示する。
- 以下のWindowsユーティリティをお試しください。 https://github.com/mukunku/ParquetViewer
他の方法はないのですか?
可能性はあります。しかし、多くは存在しませんし、ほとんどの場合、文書化もされていません。これは、Parquetが非常に複雑なファイルフォーマットであることが原因です(正式な定義も見つかりませんでした)。ここに挙げたものは、この回答を書いている時点で私が知っている唯一のものです。
関連
-
[解決済み] SubclipseとJavaHLのインストールで頭を悩ます
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] enumを列挙するには
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] Eclipseが起動できない - Javaは起動したが終了コード=13を返した
-
[解決済み】Apache Camelとは一体何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] Oracle DB : java.sql.SQLException: 閉じた接続
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] .lengthが解決できない、またはフィールドでない