Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Fonte de dicionário de arquivo executável

O uso de arquivos executáveis depende de como o dicionário é armazenado na memória. Se o dicionário for armazenado com cache e complex_key_cache, o ClickHouse solicita as chaves necessárias enviando uma requisição para a STDIN do arquivo executável. Caso contrário, o ClickHouse inicia o arquivo executável e trata a saída dele como dados do dicionário.

Exemplo de configurações:

SOURCE(EXECUTABLE(
    command 'cat /opt/dictionaries/os.tsv'
    format 'TabSeparated'
    implicit_key false
))

Campos de configuração:

Setting Description
command O caminho absoluto para o arquivo executável, ou o nome do arquivo (se o diretório do comando estiver no PATH).
format O formato do arquivo. Todos os formatos descritos em Formatos são compatíveis.
command_termination_timeout O script executável deve conter um loop principal de leitura e escrita. Depois que o dicionário é destruído, o pipe é fechado, e o arquivo executável terá command_termination_timeout segundos para encerrar antes que o ClickHouse envie um sinal SIGTERM ao processo filho. Especificado em segundos. O valor padrão é 10. Opcional.
command_read_timeout Tempo limite para ler dados do stdout do comando, em milissegundos. Valor padrão: 10000. Opcional.
command_write_timeout Tempo limite para gravar dados no stdin do comando, em milissegundos. Valor padrão: 10000. Opcional.
implicit_key A fonte executável pode retornar apenas valores, e a correspondência com as chaves solicitadas é determinada implicitamente pela ordem das linhas no resultado. O valor padrão é false.
execute_direct Se execute_direct = 1, command será procurado no diretório user_scripts especificado por user_scripts_path. Argumentos adicionais do script podem ser especificados separados por espaço em branco. Exemplo: script_name arg1 arg2. Se execute_direct = 0, command é passado como argumento para bin/sh -c. O valor padrão é 0. Opcional.
send_chunk_header Controla se a contagem de linhas deve ser enviada antes de enviar um fragmento de dados ao processo. O valor padrão é false. Opcional.

Essa fonte de dicionário pode ser configurada apenas por meio de configuração XML. A criação de dicionários com fonte executável via DDL é desabilitada; caso contrário, o usuário do banco de dados poderia executar binários arbitrários no nó do ClickHouse.

Navigation