hdfsCluster テーブル関数
指定されたクラスターの多くのノードからHDFSのファイルを並列で処理することを可能にします。イニシエーターは、クラスタ内のすべてのノードに接続を作成し、HDFSファイルパス内のアスタリスクを公開し、各ファイルを動的に配信します。ワーカーノードでは、イニシエーターに次の処理タスクを問い合わせ、それを処理します。すべてのタスクが完了するまでこのプロセスは繰り返されます。
構文
引数
cluster_name
— リモートおよびローカルサーバーへのアドレスと接続パラメータのセットを構築するために使用されるクラスタの名前。URI
— ファイルまたは一連のファイルへのURI。読み取り専用モードでは、以下のワイルドカードをサポートします:*
,**
,?
,{'abc','def'}
および{N..M}
(ここでN
,M
は数字、abc
,def
は文字列)。詳細については、パス内のワイルドカードを参照してください。format
— ファイルのフォーマット。structure
— テーブルの構造。フォーマットは'column1_name column1_type, column2_name column2_type, ...'
。
返される値
指定されたファイルからデータを読み取るための指定された構造のテーブル。
例
- ClickHouseクラスター
cluster_simple
があり、HDFSに以下のURIのファイルがあると仮定します:
- 'hdfs://hdfs1:9000/some_dir/some_file_1'
- 'hdfs://hdfs1:9000/some_dir/some_file_2'
- 'hdfs://hdfs1:9000/some_dir/some_file_3'
- 'hdfs://hdfs1:9000/another_dir/some_file_1'
- 'hdfs://hdfs1:9000/another_dir/some_file_2'
- 'hdfs://hdfs1:9000/another_dir/some_file_3'
- これらのファイルの行数をクエリします:
- これらの2つのディレクトリのすべてのファイルの行数をクエリします:
注記
ファイルのリストに先頭ゼロのある数値範囲が含まれている場合は、各桁に対して波かっこ構文を使用するか、?
を使用してください。
関連項目