mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-13 18:02:24 +00:00
4.6 KiB
4.6 KiB
slug | sidebar_position | sidebar_label |
---|---|---|
/ja/sql-reference/table-functions/url | 200 | url |
url
url
関数は指定された URL
から format
と structure
に従ったテーブルを作成します。
url
関数は、URL テーブルのデータに対する SELECT
および INSERT
クエリで使用できます。
構文
url(URL [,format] [,structure] [,headers])
パラメータ
URL
—GET
またはPOST
リクエストを受け入れることができる HTTP または HTTPS サーバーのアドレス(それぞれSELECT
またはINSERT
クエリ時)。型: String。format
— データのフォーマット。型: String。structure
—'UserID UInt64, Name String'
形式によるテーブル構造。カラム名と型を決定します。型: String。headers
-'headers('key1'='value1', 'key2'='value2')'
の形式で指定するヘッダー。HTTP 呼び出し時にヘッダーの設定が可能です。
返される値
指定された形式と構造を持ち、定義された URL
からデータを取得したテーブル。
例
String
型と UInt32 型のカラムを持つテーブルの最初の 3 行を、CSV フォーマットで回答する HTTP サーバーから取得します。
SELECT * FROM url('http://127.0.0.1:12345/', CSV, 'column1 String, column2 UInt32', headers('Accept'='text/csv; charset=utf-8')) LIMIT 3;
URL
からデータをテーブルに挿入します:
CREATE TABLE test_table (column1 String, column2 UInt32) ENGINE=Memory;
INSERT INTO FUNCTION url('http://127.0.0.1:8123/?query=INSERT+INTO+test_table+FORMAT+CSV', 'CSV', 'column1 String, column2 UInt32') VALUES ('http interface', 42);
SELECT * FROM test_table;
URLのグロブ
中括弧 { }
で囲まれたパターンは、シャードのセットを生成するか、フェイルオーバーアドレスを指定するために使用します。サポートされているパターンの種類と例については、remote 関数の説明を参照してください。
パターン内の |
文字は、フェイルオーバーアドレスを指定するために使用されます。パターンにリストされた順に反復されます。生成されるアドレスの数は glob_expansion_max_elements 設定によって制限されます。
仮想カラム
_path
—URL
へのパス。型:LowCardinalty(String)
。_file
—URL
のリソース名。型:LowCardinalty(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スタイルのパーティショニングで作成された仮想カラムを使用
SET use_hive_partitioning = 1;
SELECT * from url('http://data/path/date=*/country=*/code=*/*.parquet') where _date > '2020-01-01' and _country = 'Netherlands' and _code = 42;
ストレージ設定
- engine_url_skip_empty_files - 読み取り時に空のファイルをスキップすることができます。デフォルトでは無効です。
- enable_url_encoding - URIのパスのデコード/エンコードを有効/無効にすることができます。デフォルトで有効です。
関連項目