> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-home-button.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Permite processar arquivos de uma URL em paralelo a partir de vários nós em um cluster especificado.

# urlCluster

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.

<div id="syntax">
  ## Sintaxe
</div>

```sql theme={null}
urlCluster(cluster_name, URL, format, structure)
```

<div id="arguments">
  ## Argumentos
</div>

| 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](/pt-BR/reference/data-types/string).                                  |
| `format`       | [Formato](/pt-BR/reference/formats) dos dados. Tipo: [String](/pt-BR/reference/data-types/string).                                                            |
| `structure`    | Estrutura da tabela no formato `'UserID UInt64, Name String'`. Determina os nomes e os tipos das colunas. Tipo: [String](/pt-BR/reference/data-types/string). |

<div id="returned_value">
  ## Valor retornado
</div>

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

<div id="examples">
  ## Exemplos
</div>

Obtendo as 3 primeiras linhas de uma tabela que contém colunas dos tipos `String` e [UInt32](/pt-BR/reference/data-types/int-uint) de um servidor HTTP que responde no formato [CSV](/pt-BR/reference/formats/CSV/CSV).

1. Crie um servidor HTTP básico com as ferramentas padrão do Python 3 e inicie-o:

```python theme={null}
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()
```

```sql theme={null}
SELECT * FROM urlCluster('cluster_simple','http://127.0.0.1:12345', CSV, 'column1 String, column2 UInt32')
```

<div id="globs-in-url">
  ## Globs em URL
</div>

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](/pt-BR/reference/functions/table-functions/remote#globs-in-addresses).
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](/pt-BR/reference/settings/session-settings#glob_expansion_max_elements).

<div id="related">
  ## Relacionados
</div>

* [HDFS engine](/pt-BR/reference/engines/table-engines/integrations/hdfs)
* [Função de tabela URL](/pt-BR/reference/engines/table-engines/special/url)
