指定されたクラスター内の多数のノードを使って、Azure Blob Storage のファイルを並列に処理できます。イニシエーターでは、クラスター内のすべてのノードへの接続を確立し、S3 ファイルパス内のアスタリスクを展開して、各ファイルを動的に割り当てます。ワーカーノードでは、イニシエーターに次に処理するタスクを問い合わせて実行します。これを、すべてのタスクが完了するまで繰り返します。 このテーブル関数は、s3Cluster function に似ています。
構文
azureBlobStorageCluster(cluster_name, connection_string|storage_account_url, container_name, blobpath, [account_name, account_key, format, compression, structure])引数
| 引数 | 説明 |
|---|---|
cluster_name |
リモートおよびローカルのサーバーのアドレス群と接続パラメータ一式を構築するために使用するクラスター名です。 |
connection_string |
storage_account_url — connection_string にはアカウント名とキーが含まれます (接続文字列の作成)。また、ここでストレージアカウント URL を指定し、アカウント名とアカウントキーを個別のパラメータとして指定することもできます (account_name および account_key パラメータを参照)。 |
container_name |
コンテナー名 |
blobpath |
ファイルパスです。readonly モードでは、次のワイルドカードをサポートします: *, **, ?, {abc,def} および {N..M}。ここで N, M は数値、'abc', 'def' は文字列です。 |
account_name |
storage_account_url を使用する場合は、ここでアカウント名を指定できます |
account_key |
storage_account_url を使用する場合は、ここでアカウントキーを指定できます |
format |
ファイルのフォーマットです。 |
compression |
サポートされる値: none, gzip/gz, brotli/br, xz/LZMA, zstd/zst。デフォルトでは、ファイル拡張子に基づいて圧縮を自動判定します (auto を設定した場合と同じです) 。 |
structure |
テーブルの構造です。形式は 'column1_name column1_type, column2_name column2_type, ...' です。 |
戻り値
指定されたファイル内のデータを読み書きするための、指定された構造を持つテーブル。
例
AzureBlobStorage テーブルエンジンと同様に、ローカルで Azure Storage を開発する際には Azurite エミュレーターを使用できます。詳細はこちらを参照してください。以下では、Azurite がホスト名 azurite1 で利用可能であると仮定します。
cluster_simple クラスター内のすべてのノードを使用して、ファイル test_cluster_*.csv の件数を取得します。
SELECT count(*) FROM azureBlobStorageCluster(
'cluster_simple', 'http://azurite1:10000/devstoreaccount1', 'testcontainer', 'test_cluster_count.csv', 'devstoreaccount1',
'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==', 'CSV',
'auto', 'key UInt64')例については、azureBlobStorageを参照してください。