Solución de problemas de la tabla de diccionario externo de ClickHouse
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...