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

fileCluster テーブル関数

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

注記

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

構文

引数

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

返される値

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

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

さらに、各クラスタノードの user_files_path 内に test1.csvtest2.csv というファイルがあり、その内容が異なるノード間で同一であるとします:

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

次に、fileCluster テーブル関数を通じて test1.csvtest2.csv のデータ内容を読み取ります:

パス内のグロブ

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

参照