ClickHouse/docs/ja/sql-reference/table-functions/s3Cluster.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

86 lines
5.3 KiB
Markdown
Raw Normal View History

2024-11-18 02:58:58 +00:00
---
slug: /ja/sql-reference/table-functions/s3Cluster
sidebar_position: 181
sidebar_label: s3Cluster
title: "s3Cluster テーブル関数"
---
これは [s3](/docs/ja/sql-reference/table-functions/s3.md) テーブル関数の拡張です。
指定したクラスターの多くのノードから並列で [Amazon S3](https://aws.amazon.com/s3/) および [Google Cloud Storage](https://cloud.google.com/storage/) のファイルを処理できます。イニシエータでは、クラスター内のすべてのードに接続を作成し、S3ファイルパス内のアスタリスクを展開し、各ファイルを動的にディスパッチします。ワーカーードでは、次の処理タスクについてイニシエータに問い合わせ、それを処理します。このプロセスはすべてのタスクが終了するまで繰り返されます。
**構文**
``` sql
s3Cluster(cluster_name, url [, NOSIGN | access_key_id, secret_access_key, [session_token]] [,format] [,structure] [,compression_method])
s3Cluster(cluster_name, named_collection[, option=value [,..]])
```
**引数**
- `cluster_name` — リモートおよびローカルサーバーへのアドレスセットと接続パラメータを構築するために使用されるクラスターの名前。
- `url` — ファイルまたは一連のファイルへのパス。読み取り専用モードで次のワイルドカードをサポート: `*`, `**`, `?`, `{'abc','def'}` および `{N..M}` ここで `N`, `M` — 数字, `abc`, `def` — 文字列。詳細については [パス内のワイルドカード](../../engines/table-engines/integrations/s3.md#wildcards-in-path) を参照してください。
- `NOSIGN` — このキーワードが資格情報の代わりに指定された場合、すべてのリクエストは署名されません。
- `access_key_id` および `secret_access_key` — 指定されたエンドポイントで使用するための資格情報を指定するキー。オプション。
- `session_token` - 指定されたキーと共に使用するセッショントークン。キーを渡す場合はオプション。
- `format` — ファイルの[形式](../../interfaces/formats.md#formats)。
- `structure` — テーブルの構造。形式 `'column1_name column1_type, column2_name column2_type, ...'`
- `compression_method` — パラメータはオプションです。サポートされる値: `none`, `gzip/gz`, `brotli/br`, `xz/LZMA`, `zstd/zst`。デフォルトでは、ファイル拡張子によって圧縮方法を自動検出します。
引数は [named collections](/docs/ja/operations/named-collections.md) を使用して渡すこともできます。この場合、`url`, `access_key_id`, `secret_access_key`, `format`, `structure`, `compression_method` は同じ方法で動作し、いくつかの追加パラメータがサポートされます:
- `filename` — 指定されている場合、urlに追加されます。
- `use_environment_credentials` — デフォルトで有効で、環境変数 `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`, `AWS_CONTAINER_CREDENTIALS_FULL_URI`, `AWS_CONTAINER_AUTHORIZATION_TOKEN`, `AWS_EC2_METADATA_DISABLED` を使用して追加パラメータを渡すことができます。
- `no_sign_request` — デフォルトでは無効です。
- `expiration_window_seconds` — デフォルト値は 120 です。
**返される値**
指定されたファイルにデータを読み書きするための、指定された構造のテーブル。
**例**
`cluster_simple` クラスター内のすべてのノードを使用して、`/root/data/clickhouse` および `/root/data/database/` フォルダー内のすべてのファイルからデータを選択:
``` sql
SELECT * FROM s3Cluster(
'cluster_simple',
'http://minio1:9001/root/data/{clickhouse,database}/*',
'minio',
'minio123',
'CSV',
'name String, value UInt32, polygon Array(Array(Tuple(Float64, Float64)))'
) ORDER BY (name, value, polygon);
```
`cluster_simple` クラスター内のすべてのファイルの行の合計をカウント:
:::tip
ファイルリストに先頭にゼロが付いた数字の範囲が含まれる場合は、各桁ごとに波括弧を使用するか `?` を使用してください。
:::
本番ユースケースでは、[named collections](/docs/ja/operations/named-collections.md) の使用を推奨します。以下は例です:
``` sql
CREATE NAMED COLLECTION creds AS
access_key_id = 'minio',
secret_access_key = 'minio123';
SELECT count(*) FROM s3Cluster(
'cluster_simple', creds, url='https://s3-object-url.csv',
format='CSV', structure='name String, value UInt32, polygon Array(Array(Tuple(Float64, Float64)))'
)
```
## プライベートおよびパブリックバケットへのアクセス
ユーザーは、s3関数のドキュメントに記載されている方法を使用できます [こちら](/docs/ja/sql-reference/table-functions/s3#accessing-public-buckets).
## パフォーマンスの最適化
s3関数のパフォーマンスを最適化する詳細については、[詳細ガイド](/docs/ja/integrations/s3/performance) を参照してください。
**参考**
- [S3エンジン](../../engines/table-engines/integrations/s3.md)
- [s3 テーブル関数](../../sql-reference/table-functions/s3.md)