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
Uso
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
Ejemplos
Selección de datos de un servidor remoto:
Inserción de datos en una tabla de un servidor remoto:
Migración de tablas de un sistema a otro:
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:
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
Globbing
{ } 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 alternativasa,boc. El patrón se sustituye poraen la dirección del primer segmento, porben la dirección del segundo segmento, y así sucesivamente. Por ejemplo,example0{1,2}-1genera las direccionesexample01-1yexample02-1.{N..M}- Un rango de números. Este patrón genera direcciones de segmentos con índices crecientes desdeNhastaM(incluido). Por ejemplo,example0{1..2}-1generaexample01-1yexample02-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}-1generaexample01-1,example02-1yexample03-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éplicasexample01-1yexample01-2.
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.