2

SQL-on-semi 構造化データを実行するという要件のドリルを調査し始めました。Zookeeper を使用して 4 ノードのドリル クラスタをセットアップしました。それが実際にどのように機能するかについていくつか質問がありますが、

  1. dfs (ローカル ファイル システム) を使用して分散モードで Drill を実行すると、ノードの 1 つ (たとえば n1) に 1GB の Json ファイルがあります。任意のノード (n1、n2、n3、n4) から sqlline を起動してクエリを実行できます。n1 にのみ日付があります。私の質問は

    を。クエリはすべてのノードで実行されていますか? つまり、Drill はデータを他のノード n2、n3n4 に分散することによって、クエリの実行を並列化しますか?

    b. NO の場合、すべてのノード n2、n3、n4 に同じファイルをコピーすることで、Drill の MPP アーキテクチャを活用できますか?

4

2 に答える 2

1

クエリはすべてのノードで実行されていますか? おそらく、ノードは Drill を実行している必要があり、クエリしているデータは HDFS などの分散ファイル システム上にある必要があります。Drill はファイルを配布しません。

Drillbit サービスを実行するノード (Drill をインストールした場所) は、クエリ作業に参加します。クエリに表示される列のみがファイルから読み込まれます。ドリルは、ノードがフィルターを通過しない行を送信するのを防ぐために、クエリ内のフィルターをリーフ ノードにプッシュしようとします。ドリルは、ドキュメントに従って、ネットワーク経由またはノード間でデータを移動することなく、クエリの実行中にデータの局所性を最大化します。マイナーフラグメントのセクションでは、並列化について説明しています。フラグメント内のレコード数が 100,000 に達すると、Drill は操作を並列化します。

于 2015-07-22T21:52:09.063 に答える