url テーブル関数
url
関数は、指定された format
と structure
の URL
からテーブルを作成します。
url
関数は、URL テーブル内のデータに対する SELECT
および INSERT
クエリで使用できます。
構文
パラメータ
パラメータ | 説明 |
---|---|
URL | 単一引用符で囲まれた HTTP または HTTPS サーバーアドレスで、GET または POST リクエストを受け付けることができます(SELECT または INSERT クエリにそれぞれ対応)。タイプ: String。 |
format | データのフォーマット。タイプ: String。 |
structure | 'UserID UInt64, Name String' 形式のテーブル構造。カラム名とタイプを決定します。タイプ: String。 |
headers | 'headers('key1'='value1', 'key2'='value2')' 形式のヘッダー。HTTP 呼び出しのためにヘッダーを設定できます。 |
戻り値
指定されたフォーマットと構造で、定義された URL
からのデータを含むテーブル。
例
HTTP サーバーから CSV フォーマットで応答する String
と UInt32 タイプのカラムを含むテーブルの最初の 3 行を取得します。
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))
。
use_hive_partitioning 設定
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 が必要です。