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.
urlCluster(cluster_name, URL, format, structure)
| Argumento | Descrição |
|---|
cluster_name | Nome de um cluster usado para montar um conjunto de endereços e parâmetros de conexão para servidores remotos e locais. |
URL | Endereço HTTP ou HTTPS do servidor, que pode aceitar solicitações GET. Tipo: String. |
format | Formato dos dados. Tipo: String. |
structure | Estrutura da tabela no formato 'UserID UInt64, Name String'. Determina os nomes e os tipos das colunas. Tipo: String. |
Uma tabela com o formato e a estrutura especificados, contendo dados da URL definida.
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.
- 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')
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