2017-07-31 9 views
3

Dask(Python)とDrillSergeantパケットを使用している)にparquetファイルを生成しました。 R \ Drillparquetファイルを削除することができた(これらのファイルを持っているし、代わりにparquet.crcファイルを持っていませんが(すなわちfastparquetDaskのフォーマットは_metadata_common_metadataファイルを持っている寄木細工ファイルの生成 - RとPythonの違い

  1. :我々はいくつかの問題に気づきました)。これらのparquet実装の違いは何ですか?
  2. (のみ1に答える)、それが簡単に答えるようにするために、別の質問を投稿してください
+0

さまざまな[寄木細工のバージョン](http://matthewrocklin.com/blog/work/2017/06/28/use-parquet)があることを理解していますが、違いを理解するのは難しいです –

+0

Stack Overflowで別々の質問があります。複数のインスタンスを1つのインスタンスとして送信することは、SOのUIに答えて統合するのが非常に難しいです。 – xhochy

+0

入力用Thx - そうする –

答えて

2

_metadata_common_metadataは寄せ木データセットのために必要とされていないヘルパーファイルであり、これらのものは/スパークによって使用されていますDask/Hive/...は、すべてのファイルのフッターを読む必要なく、データセットのすべてのParquetファイルのメタデータを推論します。これとは対照的に、Apache Drillは、すべてのParquetファイルのすべてのフッターを含む(必要に応じて)各フォルダーに同様のファイルを生成します。データセットの最初のクエリでのみすべてのファイルが読み込まれます。その後のクエリでは、すべてのフッターをキャッシュするファイルが読み込まれます。

_metadata_common_metadataを使用しているツールは、実行時間を短縮するために活用できますが、操作には依存しません。それらが存在しない場合、クエリエンジンは単にすべてのフッターを読み取る必要があります。

+0

かなり正しい。さらに、fastparquet(ファイルを作成するためにdaskが使用したライブラリ)も '_metadata'なしで寄木細工のデータファイルのリストを読むことができますが、最初に読み込んだメタデータは遅くなります。スパークはこれらのファイルを作成するために使用されましたが、もはや、私はハイブがまだそれを行うと信じていません。 – mdurant

関連する問題