Saltar al contenido principal
La función de tabla remote permite acceder a servidores remotos directamente, es decir, sin necesidad de crear una tabla Distributed. La función de tabla remoteSecure es lo mismo que remote, pero a través de una conexión segura. Ambas funciones pueden usarse en consultas SELECT e INSERT.

Sintaxis

Parámetros

Los argumentos también pueden pasarse mediante colecciones con nombre.

Valor devuelto

Una tabla ubicada en un servidor remoto.

Uso

Como las funciones de tabla remote y remoteSecure restablecen la conexión en cada solicitud, se recomienda usar en su lugar una tabla Distributed. Además, si se configuran nombres de host, los nombres se resuelven y los errores no se contabilizan al trabajar con varias réplicas. Si va a procesar una gran cantidad de consultas, cree siempre la tabla Distributed con antelación y no use la función de tabla remote. La función de tabla remote puede resultar útil en los siguientes casos:
  • Migración puntual de datos de un sistema a otro
  • Acceso a un servidor específico para comparar datos, depurar y realizar pruebas; es decir, conexiones ad hoc.
  • Consultas entre varios clústeres de ClickHouse con fines de investigación.
  • Solicitudes distribuidas poco frecuentes realizadas manualmente.
  • Solicitudes distribuidas en las que el conjunto de servidores se redefine cada vez.

Direcciones

Se pueden indicar varias direcciones separadas por comas. En este caso, ClickHouse usará procesamiento distribuido y enviará la consulta a todas las direcciones especificadas (como si fueran segmentos con datos diferentes). Ejemplo:

Ejemplos

Selección de datos de un servidor remoto:

O usando colecciones con nombre:

Inserción de datos en una tabla de un servidor remoto:

Migración de tablas de un sistema a otro:

Este ejemplo utiliza una tabla de un dataset de ejemplo. La base de datos es imdb y la tabla es actors.

En el sistema ClickHouse de origen (el sistema que actualmente hospeda los datos)

  • Verifique la base de datos de origen y el nombre de la tabla (imdb.actors)
  • Obtenga la sentencia CREATE TABLE del origen:
Respuesta

En el sistema ClickHouse de destino

  • Cree la base de datos de destino:
  • Usando la sentencia CREATE TABLE del origen, cree la tabla de destino:

De vuelta en la implementación de origen

Inserte datos en la nueva base de datos y la nueva tabla creadas en el sistema remoto. Necesitará el host, el puerto, el nombre de usuario, la contraseña, la base de datos de destino y la tabla de destino.

Globbing

Los patrones entre { } se usan para generar un conjunto de segmentos y para especificar réplicas. Si hay varios pares de { }, se genera el producto cartesiano de los conjuntos correspondientes. Se admiten los siguientes tipos de patrones.
  • {a,b,c} - Representa cualquiera de las cadenas alternativas a, b o c. El patrón se sustituye por a en la dirección del primer segmento, por b en la dirección del segundo segmento, y así sucesivamente. Por ejemplo, example0{1,2}-1 genera las direcciones example01-1 y example02-1.
  • {N..M} - Un rango de números. Este patrón genera direcciones de segmentos con índices crecientes desde N hasta M (incluido). Por ejemplo, example0{1..2}-1 genera example01-1 y example02-1.
  • {0n..0m} - Un rango de números con ceros a la izquierda. Este patrón conserva los ceros a la izquierda en los índices. Por ejemplo, example{01..03}-1 genera example01-1, example02-1 y example03-1.
  • {a|b} - Cualquier número de variantes separadas por un |. El patrón especifica réplicas. Por ejemplo, example01-{1|2} genera las réplicas example01-1 y example01-2.
La consulta se enviará a la primera réplica disponible. Sin embargo, para remote, las réplicas se recorren en el orden establecido actualmente en la configuración load_balancing. La cantidad de direcciones generadas está limitada por la configuración table_function_remote_max_addresses.
Última modificación el 2 de julio de 2026