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

url テーブル関数

url 関数は、指定された formatstructure を持つ URL からテーブルを作成します。

url 関数は、URL テーブル内のデータに対する SELECT および INSERT クエリで使用できます。

構文

パラメータ

パラメータ説明
URLGET または 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 設定によって制限されています。

仮想カラム

  • _pathURL へのパス。型: LowCardinality(String)
  • _fileURL のリソース名。型: 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 が必要です。