SELECT e INSERT en datos almacenados en un servidor MySQL remoto.
Crear una tabla
- Los nombres de las columnas deben ser los mismos que en la tabla MySQL original, pero puedes usar solo algunas de ellas y en cualquier orden.
- Los tipos de las columnas pueden diferir de los de la tabla MySQL original. ClickHouse intenta convertir los valores a los tipos de datos de ClickHouse.
- La configuración external_table_functions_use_nulls define cómo manejar las columnas Nullable. Valor predeterminado: 1. Si es 0, la table function no crea columnas Nullable e inserta valores predeterminados en lugar de valores NULL. Esto también se aplica a los valores NULL dentro de arrays.
host:port— Dirección del servidor MySQL.database— Nombre de la base de datos remota.table— Nombre de la tabla remota.user— usuario MySQL.password— Contraseña del usuario.replace_query— Indicador que convierte las consultasINSERT INTOenREPLACE INTO. Sireplace_query=1, la consulta se sustituye.on_duplicate_clause— La expresiónON DUPLICATE KEY on_duplicate_clauseque se añade a la consultaINSERT. Ejemplo:INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1, dondeon_duplicate_clauseesUPDATE c2 = c2 + 1. Consulta la documentación de MySQL para ver quéon_duplicate_clausepuedes usar con la cláusulaON DUPLICATE KEY. Para especificaron_duplicate_clause, debes pasar0al parámetroreplace_query. Si pasas simultáneamentereplace_query = 1yon_duplicate_clause, ClickHouse genera una excepción.
host y port deben especificarse por separado. Este enfoque se recomienda para entornos de producción.
Las cláusulas WHERE simples, como =, !=, >, >=, <, <=, se ejecutan en el servidor MySQL.
El resto de las condiciones y la restricción de muestreo LIMIT se ejecutan en ClickHouse solo después de que finaliza la consulta a MySQL.
Admite múltiples réplicas, que deben enumerarse mediante |. Por ejemplo:
Ejemplo de uso
Configuración
connection_auto_close
- 1 — Se permite el cierre automático de la conexión, por lo que la reutilización de la conexión está desactivada
- 0 — No se permite el cierre automático de la conexión, por lo que la reutilización de la conexión está activada
1.
connection_max_tries
- Entero positivo.
- 0 — No hay reintentos para el pool con failover.
3.
connection_pool_size
- Entero positivo.
16.
connection_wait_timeout
connection_pool_size conexiones activas); 0: no esperar.
Valores posibles:
- Entero positivo.
5.
connect_timeout
- Entero positivo.
10.
read_write_timeout
- Entero positivo.
300.