URL(URL,形式) 

リモートHTTP/HTTPSサーバー上のデータを管理します。 このエンジンは同様です
ファイル エンジン

ClickHouseサーバーでのエンジンの使用 

その format ClickHouseが使用できるものでなければなりません
SELECT クエリと、必要に応じて、 INSERTs. サポートされている形式の完全な一覧については、
形式.

その URL Uniform Resource Locatorの構造に準拠している必要があります。 指定したURLはサーバーを指す必要があります
HTTPまたはHTTPSを使用します。 これは必要ありません
サーバーからの応答を取得するための追加ヘッダー。

INSERTSELECT 質問への POSTGET 要求,
それぞれ。 処理のため POST 要求は、リモートサーバーが
チャンク転送エンコード.

HTTP GETリダイレクトホップの最大数を制限するには max_http_get_redirects 設定。

例:

1. 作成 url_engine_table サーバー上のテーブル :

CREATE TABLE url_engine_table (word String, value UInt64)
ENGINE=URL('http://127.0.0.1:12345/', CSV)

2. 標準のPython3ツールを使用して基本的なHTTPサーバーを作成し、
それを開始:

from http.server import BaseHTTPRequestHandler, HTTPServer

class CSVHTTPServer(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/csv')
        self.end_headers()

        self.wfile.write(bytes('Hello,1\nWorld,2\n', "utf-8"))

if __name__ == "__main__":
    server_address = ('127.0.0.1', 12345)
    HTTPServer(server_address, CSVHTTPServer).serve_forever()
$ python3 server.py

3. 要求データ:

SELECT * FROM url_engine_table
┌─word──┬─value─┐
│ Hello │     1 │
│ World │     2 │
└───────┴───────┘

実施内容 

  • 読み書きできる並列
  • 対応していません:
    • ALTERSELECT...SAMPLE 作戦だ
    • インデックス。
    • 複製。

評価: 4 - 5 投票

この内容は有用だったか。
★★★★☆