Otimização da construção do cubo Kylin

Dimensão derivada

O conceito

  As dimensões derivadas são usadas para excluir dimensões de chave não primária na tabela de dimensões dentro da dimensão efetiva e usar a chave primária da tabela de dimensões (de fato, a chave estrangeira correspondente na tabela de fatos) para substituí-las. O Kylin registra o relacionamento de mapeamento entre a chave primária da tabela de dimensões e outras dimensões da tabela de dimensões na parte inferior, para que possa "converter" dinamicamente a chave primária da tabela de dimensões nessas dimensões de chave não primária durante a consulta e realizar a agregação em tempo real.

Nota:

Embora a dimensão derivada seja muito atraente, isso não significa que todas as dimensões na tabela de dimensões devem se tornar a dimensão derivada.Se a carga de trabalho de agregação da chave primária da tabela de dimensões para uma dimensão da tabela de dimensões for muito grande, As dimensões derivadas não são recomendadas.

Como mostrado

 

Quando originalmente construído em três dimensões, cubóide = 2 ^ 3 -1 = 7 

A é a chave primária na tabela de dimensões e não é repetida, então E pode ser considerado como uma dimensão derivada de A e A pode ser usado para substituir a dimensão E durante a construção, portanto, na construção final, Cubóide = 2 ^ 2 -1 = 3

Dessa forma, a eficiência da construção do cubo será muito alta e, se a dimensão de E for projetada durante a consulta, A será substituído por E para obter o resultado.

Operação específica

Ao selecionar dimensões, as dimensões derivadas na tabela de dimensões selecionada

 

 Em seguida, selecione as chaves primárias dessas duas tabelas de dimensão no grupo de agregação

 

 Após a configuração, você pode ver Cuboid = 3

 

 Configuração de dimensões em grupos de agregação

Dimensão obrigatória

Se uma dimensão for definida como uma dimensão obrigatória, cada um dos cuboides gerados por esse agrupamento conterá essa dimensão, e os cuboides que não contêm essa dimensão não serão calculados (as dimensões unidimensionais não serão calculadas)

 

A operação é a seguinte

 

 

 

Dimensão hierárquica

Em termos simples, a dimensão B depende da dimensão A. Se apenas B não tiver A, não será calculado.

 

A operação é a seguinte

 

 

 

 

 

 Dimensão conjunta

As dimensões da junta devem existir simultaneamente

 

 

 

 

 

 RowKey Design

1 ) A dimensão usada como o local onde o filtro é colocado na frente.

 

 

2 ) A dimensão com uma cardinalidade grande é colocada antes da dimensão com uma cardinalidade pequena.

Quando o cubo é agregado de 3D para 2D, o padrão é selecionar um 3D com um pequeno cuboide para agregação.Pode ser visto na figura que a cardinalidade de C é muito maior que a cardinalidade de D, portanto a velocidade de operação no lado direito será mais rápida

 

 

Operação

 

 Otimização granular de simultaneidade (entender)

    

Quando o tamanho de um cubóide no segmento exceder um certo limite, o sistema dividirá os dados do cubóide em várias partições para obter paralelização da leitura de dados do cubóide, 
otimizando a velocidade de consulta do cubo. O método de implementação específico é o seguinte: o mecanismo de construção determina o tamanho do segmento de acordo com o tamanho do segmento e o parâmetro "kylin.hbase.region.cut" para determinar quantos segmentos o segmento precisa armazenar no
mecanismo de armazenamento . Se o mecanismo de armazenamento for HBase, a partição O número corresponde ao número de regiões no HBase. O valor padrão de kylin.hbase.region.cut é 5.0 e a unidade é GB, o que significa que, para um segmento com um tamanho estimado de 50 GB, o mecanismo de construção alocará 10 partições para ele.
Os usuários também podem determinar o número mínimo ou máximo de cada segmento, definindo duas configurações de kylin.hbase.region.count.min (o padrão é 1) e kylin.hbase.region.count.max (o padrão é 500). Partição.

 

Os cubos são armazenados na forma de segmentos no HBase. De fato, aqui é para otimizar a estratégia de particionamento do Hbase. Quanto mais partições, melhor a simultaneidade. Geralmente, o padrão é manter

Método de configuração

 

Acho que você gosta

Origin www.cnblogs.com/yangxusun9/p/12731028.html
Recomendado
Clasificación