url テーブル関数
url
関数は、指定された format
と structure
を持つ URL
からテーブルを作成します。
url
関数は、URL テーブル内のデータに対する SELECT
および INSERT
クエリで使用できます。
構文
パラメータ
パラメータ | 説明 |
---|---|
URL | GET または POST リクエストを受け付ける HTTP または HTTPS サーバーのアドレス(それぞれ SELECT または INSERT クエリ用)。型: String。 |
format | データのフォーマット。型: String。 |
structure | 'UserID UInt64, Name String' フォーマットのテーブル構造。カラム名と型を決定します。型: String。 |
headers | 'headers('key1'='value1', 'key2'='value2')' フォーマットのヘッダー。HTTP 呼び出し用のヘッダーを設定できます。 |
戻り値
指定されたフォーマットと構造、及び定義された URL
からのデータを持つテーブル。
例
HTTP サーバーからの String
および UInt32 タイプのカラムを含むテーブルの最初の 3 行を取得します。サーバーは CSV フォーマットで応答します。
URL
からテーブルへのデータ挿入:
URL におけるグロブ
中括弧 { }
内のパターンは、シャードのセットを生成したり、フェイルオーバーアドレスを指定するために使用されます。サポートされているパターンタイプと例は、remote 関数の説明で確認できます。
パターン内の文字 |
はフェイルオーバーアドレスを指定するために使用され、リストの順序で反復されます。生成されるアドレスの数は、glob_expansion_max_elements 設定によって制限されています。
仮想カラム
_path
—URL
へのパス。型:LowCardinality(String)
。_file
—URL
のリソース名。型:LowCardinality(String)
。_size
— リソースのサイズ(バイト単位)。型:Nullable(UInt64)
。サイズが不明な場合、値はNULL
です。_time
— ファイルの最終変更時刻。型:Nullable(DateTime)
。時間が不明な場合、値はNULL
です。_headers
- HTTP 応答ヘッダー。型:Map(LowCardinality(String), LowCardinality(String))
。
Hive スタイルのパーティショニング
use_hive_partitioning
を 1 に設定すると、ClickHouse はパス内の Hive スタイルのパーティショニング (/name=value/
) を検出し、クエリ内でパーティションカラムを仮想カラムとして使用できるようにします。これらの仮想カラムは、パーティション化されたパスと同じ名前ですが、_
で始まります。
例
Hive スタイルのパーティショニングで作成された仮想カラムを使用
ストレージ設定
- engine_url_skip_empty_files - 読み取り時に空のファイルをスキップすることを許可します。デフォルトでは無効です。
- enable_url_encoding - URI のパスのデコード/エンコードを有効/無効にすることを許可します。デフォルトでは有効です。
権限
url
関数は CREATE TEMPORARY TABLE
権限を必要とします。そのため - readonly = 1 設定のユーザーには機能しません。少なくとも readonly = 2 が必要です。