メインコンテンツまでスキップ
メインコンテンツまでスキップ

fileCluster テーブル関数

指定されたパスに一致するファイルをクラスター内の複数のノードで同時に処理することを可能にします。イニシエータはワーカーノードに接続を確立し、ファイルパスのグロブを展開し、ファイル読み取りタスクをワーカーノードに委任します。各ワーカーノードは次の処理すべきファイルをイニシエータにクエリし、すべてのタスクが完了するまで繰り返します(すべてのファイルが読み取られます)。

注記

この関数は、最初に指定したパスに一致するファイルのセットがすべてのノードで同一であり、異なるノード間でその内容が一貫している場合にのみ 正しく 動作します。
これらのファイルがノード間で異なる場合、返り値は予測できず、ワーカーノードがイニシエータからタスクをリクエストする順序によって異なります。

構文

引数

引数説明
cluster_nameリモートおよびローカルサーバーへのアドレスと接続パラメータのセットを構築するために使用されるクラスターの名前。
pathuser_files_path からのファイルへの相対パス。ファイルへのパスはグロブもサポートしています。
formatファイルのフォーマット。タイプ: String
structure'UserID UInt64, Name String'形式のテーブル構造。カラム名とタイプを決定します。タイプ: String
compression_method圧縮方法。サポートされている圧縮タイプは gz, br, xz, zst, lz4, および bz2 です。

返り値

指定されたフォーマットと構造のテーブルで、指定されたパスに一致するファイルからのデータを含みます。

my_cluster という名前のクラスターがあり、次の user_files_path 設定の値があるとします:

また、各クラスターノードの user_files_pathtest1.csv および test2.csv というファイルがあり、その内容が異なるノード間で同一であるとします:

たとえば、各クラスターノードで以下の2つのクエリを実行することで、これらのファイルを作成できます:

次に、fileCluster テーブル関数を使用して test1.csv および test2.csv のデータ内容を読み取ります:

パス内のグロブ

File テーブル関数によってサポートされるすべてのパターンは FileCluster にもサポートされています。