Pular para o conteúdo principal
Permite processar arquivos de uma URL em paralelo a partir de vários nós em um cluster especificado. No nó initiator, ele cria uma conexão com todos os nós do cluster, expande o asterisco no path do arquivo da URL e distribui cada arquivo dinamicamente. No nó worker, ele consulta o initiator sobre a próxima task a ser processada e a processa. Isso se repete até que todas as tasks sejam concluídas.

Sintaxe

urlCluster(cluster_name, URL, format, structure)

Argumentos

ArgumentoDescrição
cluster_nameNome de um cluster usado para montar um conjunto de endereços e parâmetros de conexão para servidores remotos e locais.
URLEndereço HTTP ou HTTPS do servidor, que pode aceitar solicitações GET. Tipo: String.
formatFormato dos dados. Tipo: String.
structureEstrutura da tabela no formato 'UserID UInt64, Name String'. Determina os nomes e os tipos das colunas. Tipo: String.

Valor retornado

Uma tabela com o formato e a estrutura especificados, contendo dados da URL definida.

Exemplos

Obtendo as 3 primeiras linhas de uma tabela que contém colunas dos tipos String e UInt32 de um servidor HTTP que responde no formato CSV.
  1. Crie um servidor HTTP básico com as ferramentas padrão do Python 3 e inicie-o:
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')

Globs em URL

Os padrões em { } são usados para gerar um conjunto de shards ou para especificar endereços de failover. Para ver os tipos de padrão compatíveis e exemplos, consulte a descrição da função remote. O caractere | dentro dos padrões é usado para especificar endereços de failover. Eles são percorridos na mesma ordem em que são listados no padrão. O número de endereços gerados é limitado pela configuração glob_expansion_max_elements.
Última modificação em 10 de junho de 2026