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

s3Cluster テーブル関数

これは s3 テーブル関数の拡張です。

指定されたクラスター内の多数のノードで、Amazon S3 および Google Cloud Storage Google Cloud Storage のファイルを並行処理することができます。イニシエーターはクラスター内のすべてのノードに接続を作成し、S3ファイルパスのアスタリスクを開示し、それぞれのファイルを動的に配信します。ワーカーノードはイニシエーターに次の処理タスクを尋ねてそれを処理します。これはすべてのタスクが完了するまで繰り返されます。

構文

引数

引数説明
cluster_nameリモートおよびローカルサーバーへのアドレスと接続パラメーターのセットを構築するために使用されるクラスターの名前。
urlファイルまたは複数のファイルのパス。読み取り専用モードで次のワイルドカードをサポート:*, **, ?, {'abc','def'} および {N..M} ここで N, M は数字、abc, def は文字列です。詳細については パス内のワイルドカードを参照してください。
NOSIGNこのキーワードが資格情報の代わりに提供されると、すべてのリクエストは署名されません。
access_key_idsecret_access_key指定されたエンドポイントで使用する資格情報を指定するキー。オプション。
session_token指定されたキーで使用するセッショントークン。キーを渡す場合はオプション。
formatファイルの 形式
structureテーブルの構造。形式は 'column1_name column1_type, column2_name column2_type, ...'
compression_methodパラメーターはオプションです。サポートされる値:none, gzip または gz, brotli または br, xz または LZMA, zstd または zst。デフォルトでは、ファイル拡張子によって圧縮方式を自動検出します。
headersパラメーターはオプションです。S3リクエストにヘッダを渡すことを許可します。形式 headers(key=value) で渡してください。例 headers('x-amz-request-payer' = 'requester')。使用例は こちら
extra_credentialsオプション。roleARN はこのパラメーターを介して渡すことができます。使用例は こちら

引数は 名前付きコレクション を使用しても渡すことができます。この場合、urlaccess_key_idsecret_access_keyformatstructurecompression_method は同様に機能し、一部の追加パラメーターがサポートされます。

引数説明
filename指定された場合、URLに追加されます。
use_environment_credentialsデフォルトで有効で、環境変数 AWS_CONTAINER_CREDENTIALS_RELATIVE_URIAWS_CONTAINER_CREDENTIALS_FULL_URIAWS_CONTAINER_AUTHORIZATION_TOKENAWS_EC2_METADATA_DISABLEDを使用して追加パラメーターを渡すことを許可します。
no_sign_requestデフォルトで無効です。
expiration_window_secondsデフォルト値は120です。

戻り値

指定されたファイルでデータを読み書きするための指定された構造のテーブル。

cluster_simple クラスター内のすべてのノードを使用して、/root/data/clickhouse/root/data/database/ フォルダー内のすべてのファイルからデータを選択します。

cluster_simple クラスター内のすべてのファイルの合計行数をカウントします:

ヒント

ファイルリストに先頭ゼロを含む数値範囲がある場合は、各桁を個別に波括弧で囲むか、? を使用してください。

本番環境での使用例として、名前付きコレクションを使用することをお勧めします。以下はその例です:

プライベートおよびパブリックバケットへのアクセス

ユーザーは、s3関数に関する文書で説明されたのと同じアプローチを使用できます こちら

パフォーマンスの最適化

s3関数のパフォーマンス最適化に関する詳細は、我々の詳細なガイドを参照してください。