Colección de citas famosas - Slogan de motivación - Solución de problemas de la tabla de diccionario externo de ClickHouse

Solución de problemas de la tabla de diccionario externo de ClickHouse

Al eliminar una tabla de diccionario, la declaración utilizada debe ser:

Separar diccionario dmp_log.ods_product

Recrear la tabla de diccionario porque mi colega usó este comando incorrectamente y no tuvo éxito. El comando incorrecto es el siguiente (como operación de tabla):

Separar tabla dmp_log.ods_product

La recreación de la tabla del diccionario informa el siguiente error:

Error de SQL [387]: clickhouseException, código: 387, host: 172.30.125.92, puerto: 8124; código: 387, e.displaytext() = DB::Exception: el diccionario dmp_log.ods_product ya existe. (Versión 20.8.6.6 (versión oficial))

Porque la tabla del diccionario se descarga como una tabla. Luego, cuando vuelve a cargar, informa un error de sintaxis.

Adjunte la tabla dmp_log.ods_product

Solución:

Esencial: debido a que está separada como una tabla, se puede usar como una tabla adjunta.

1 y el directorio de metadatos de ClickHouse

/data/click house/metadata/DMP _ log

Se encontró la información de la tabla ods_product del error de operación.

2. Debido a que ods_product es una tabla de diccionario, la sintaxis es inconsistente con la declaración de construcción de la tabla.

Por lo tanto, es necesario modificar el contenido del archivo ods_product en declaraciones de creación de tablas ordinarias para que ClickHouse pueda cargarlas.

3. Reiniciar ClickHouse

3. Ejecutar declaración de eliminación de tabla

Eliminar tabla ods.ods_product

4. p>

p>

Crear diccionario dmp_log.ods_product...