format_schema
format_schema_message_name
format_schema.
Para mantener la compatibilidad con el formato heredado de format_schema (file_name:message_name):
- Si no se especifica
format_schema_message_name, el nombre del mensaje se infiere a partir de la partemessage_namedel valor heredado deformat_schema. - Si se especifica
format_schema_message_namemientras se usa el formato heredado, se producirá un error.
format_schema_source
format_schema.
Posibles valores:
- ‘file’ (predeterminado):
format_schemaes el nombre de un archivo de esquema ubicado en el directorioformat_schemas. - ‘string’:
format_schemaes el contenido literal del esquema. - ‘query’:
format_schemaes una consulta para obtener el esquema. Cuandoformat_schema_sourcese establece en ‘query’, se aplican las siguientes condiciones: - La consulta debe devolver exactamente un valor: una sola fila con una única columna de tipo cadena.
- El resultado de la consulta se trata como el contenido del esquema.
- Este resultado se almacena localmente en caché en el directorio
format_schemas. - Puede borrar la caché local con el comando:
SYSTEM DROP FORMAT SCHEMA CACHE FOR Files. - Una vez almacenado en caché, las consultas idénticas no vuelven a ejecutarse para obtener el esquema hasta que la caché se borre explícitamente.
- Además de los archivos de caché locales, los mensajes Protobuf también se almacenan en la caché en memoria. Incluso después de borrar los archivos de caché locales, la caché en memoria debe borrarse con
SYSTEM DROP FORMAT SCHEMA CACHE [FOR Protobuf]para actualizar por completo el esquema. - Ejecute la consulta
SYSTEM DROP FORMAT SCHEMA CACHEpara borrar de una sola vez la caché de los archivos de caché y de los esquemas de mensajes Protobuf.