メインコンテンツへスキップ
指定したクラスター内の複数のノードで、URL 上のファイルを並列に処理できます。イニシエーターでは、クラスター内のすべてのノードへの接続を確立し、URL のファイルパス内のアスタリスクを展開して、各ファイルを動的に振り分けます。ワーカーノードでは、次に処理するタスクをイニシエーターに問い合わせて処理します。これを、すべてのタスクが完了するまで繰り返します。

構文

urlCluster(cluster_name, URL, format, structure)

引数

引数説明
cluster_nameリモートおよびローカルのサーバーへのアドレス集合と接続パラメーターの構築に使用されるクラスター名。
URLGET リクエストを受け付け可能な HTTP または HTTPS のサーバーアドレス。型: String
formatデータの フォーマット。型: String
structure'UserID UInt64, Name String' 形式のテーブル構造です。カラム名と型を決定します。型: String

戻り値

指定されたフォーマットと構造を持ち、指定したURLのデータを含むテーブル。

String および UInt32 型のカラムを含むテーブルの先頭 3 行を、CSV フォーマットで応答する HTTP サーバーから取得する例です。
  1. 標準の Python 3 ツールを使って基本的な 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()
SELECT * FROM urlCluster('cluster_simple','http://127.0.0.1:12345', CSV, 'column1 String, column2 UInt32')

URL 内のグロブ

{ } 内のパターンは、分片の集合を生成したり、フェイルオーバー用アドレスを指定したりするために使用されます。サポートされているパターンの種類と例については、remote 関数の説明を参照してください。 パターン内の文字 | は、フェイルオーバー用アドレスを指定するために使用されます。これらのアドレスは、パターンに記載された順序どおりに順次試行されます。生成されるアドレス数は、glob_expansion_max_elements 設定によって制限されます。
最終更新日 2026年6月10日