structure descreve a chave do dicionário e os campos disponíveis para consultas.
Descrição em XML:
<id>— coluna-chave<attribute>— coluna de dados: pode haver vários atributos.
PRIMARY KEY— coluna-chaveAttrName AttrType— coluna de dados. Pode haver vários atributos.
Chave
- Chave numérica.
UInt64. Definida na tag<id>ou com a palavra-chavePRIMARY KEY. - Chave composta. Conjunto de valores de tipos diferentes. Definida na tag
<key>ou com a palavra-chavePRIMARY KEY.
<id> ou <key>. A consulta DDL deve conter uma única PRIMARY KEY.
Você não deve descrever a chave como um atributo.
Chave numérica
UInt64.
Exemplo de configuração:
name– O nome da coluna que contém as chaves.
PRIMARY KEY– O nome da coluna que contém as chaves.
Chave composta
tuple formada por campos de qualquer tipo. O layout nesse caso deve ser complex_key_hashed ou complex_key_cache.
A estrutura da chave é definida no elemento <key>. Os campos da chave são especificados no mesmo formato dos atributos do dicionário. Exemplo:
dictGet*, uma tupla é usada como chave. Exemplo: dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2)).
Atributos
| Tag | Descrição | Obrigatório |
|---|---|---|
name | Nome da coluna. | Sim |
type | Tipo de dado do ClickHouse: UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, Float32, Float64, UUID, Decimal32, Decimal64, Decimal128, Decimal256,Date, Date32, DateTime, DateTime64, String, Array. O ClickHouse tenta converter o valor do dicionário para o tipo de dado especificado. Por exemplo, no MySQL, o campo pode ser TEXT, VARCHAR ou BLOB na tabela de origem do MySQL, mas pode ser carregado como String no ClickHouse.Atualmente, Nullable é compatível com os dicionários Flat, Hashed, ComplexKeyHashed, Direct, ComplexKeyDirect, RangeHashed, Polygon, Cache, ComplexKeyCache, SSDCache, SSDComplexKeyCache. Em dicionários IPTrie, tipos Nullable não são compatíveis. | Sim |
null_value | Valor padrão para um elemento inexistente. No exemplo, é uma string vazia. O valor NULL só pode ser usado com tipos Nullable (veja a linha anterior com a descrição dos tipos). | Sim |
expression | Expressão que o ClickHouse executa sobre o valor. A expressão pode ser um nome de coluna no banco de dados SQL remoto. Assim, você pode usá-la para criar um alias para a coluna remota. Valor padrão: nenhuma expressão. | Não |
hierarchical | Se true, o atributo contém o valor da chave pai da chave atual. Veja Hierarchical Dictionaries.Valor padrão: false. | Não |
injective | Flag que indica se o mapeamento id -> attribute é injetivo.Se true, o ClickHouse pode colocar automaticamente, após a cláusula GROUP BY, as consultas aos dicionários com injetividade. Em geral, isso reduz significativamente a quantidade dessas consultas.Valor padrão: false. | Não |
is_object_id | Flag que indica se a consulta é executada para um documento do MongoDB por ObjectID.Valor padrão: false. |