Redshift aproximadamente a função percentil_disc

Redshift aproximadamente a função percentil_disc
Redshift aproximadamente a função percentil_disc é uma das funções agregadas fornecidas pelo Redshift para calcular o percentil da expressão fornecida com base no modelo de distribuição discreta. A aproximação é um método muito mais rápido e tem um baixo erro relativo de cerca de 0.5.

Redshift aproximadamente a função percentil_disc executa seu cálculo com base no algoritmo de resumo quantil. Ele se aproximará do percentil das expressões de entrada fornecidas em ordenar por parâmetro. Um algoritmo de resumo quantil é amplamente usado para lidar com grandes conjuntos de dados. Ele retorna o valor das linhas que possuem um pequeno valor distributivo cumulativo que é igual ou maior que o valor do percentil fornecido.

Redshift aproximadamente a função percentil_disc é uma das funções de nó somente de computação no Redshift. Portanto, a consulta para percentil aproximada retorna o erro se a consulta não se referir à tabela definida pelo usuário ou às tabelas definidas pelo sistema de desvio para o AWS.

O parâmetro distinto não é suportado na função aproximada de percentil_disc e a função sempre se aplica a todos os valores passados ​​para a função, mesmo que existam valores repetidos. Além disso, os valores nulos são ignorados durante o cálculo.

Sintaxe para usar a função aproximada percentil_disc

A sintaxe para usar a função aproximada do desvio para o vermelho é o seguinte:

Percentil aproximado_disc ( )
Dentro do grupo ()
De table_name

Percentil

O percentil O parâmetro na consulta acima é o valor percentual que você deseja encontrar. Deve ser constante numérico e varia de 0 a 1. Portanto, se você quiser encontrar o 50º percentil, você colocará 0.5.

Ordem por expressão

O Ordem por expressão é usado para fornecer a ordem em que você deseja solicitar os valores e calcular o percentil.

Exemplos para usar a função aproximada percentil_disc

Agora, nesta seção, vamos fazer alguns exemplos para entender completamente como a função aproximada percentil_disc no redshift funciona.

No primeiro exemplo, aplicaremos a função aproximada percentil_disc em uma tabela nomeada aproximação como mostrado abaixo. A tabela Redshift a seguir contém o ID do usuário e as marcas obtidas pelo usuário.

EU IA Marcas
0 10
1 10
2 90
3 40
4 40
5 10
6 20
7 30
8 20
9 25

Aplique o 25º percentil na coluna Marcas do aproximação Tabela que será ordenada por ID.

Selecione Marcas, Percentil aproximado_disc (0.25)
Dentro do grupo (ordem por id)
da aproximação
grupo por marcas

O 25º percentil do Marcas coluna do aproximação A tabela será a seguinte:

Marcas Percentil_disc
10 0
90 2
40 3
20 6
25 9
30 10

Agora, vamos aplicar o 50º percentil à tabela acima. Para isso, use a seguinte consulta:

Selecione Marcas, Percentil aproximado_disc (0.5)
Dentro do grupo (ordem por id)
da aproximação
grupo por marcas

O 50º percentil do Marcas coluna do aproximação A tabela será a seguinte:

Marcas Percentil_disc
10 1
90 2
40 3
20 6
25 9
30 10

Agora, vamos tentar solicitar o percentil 90 no mesmo conjunto de dados. Para isso, use a seguinte consulta:

Selecione Marcas, Percentil aproximado_disc (0.9)
Dentro do grupo (ordem por id)
da aproximação
grupo por marcas

O 90º percentil do Marcas coluna do aproximação A tabela será a seguinte:

Marcas Percentil_disc
10 7
90 2
40 4
20 8
25 9
30 10

A constante numérica do parâmetro percentil não pode exceder 1. Agora, vamos tentar exceder seu valor e defini -lo como 2 para ver como a função de percentil aproximada_disc trata essa constante. Use a seguinte consulta:

Selecione Marcas, Percentil aproximado_disc (2)
Dentro do grupo (ordem por id)
da aproximação
grupo por marcas

Esta consulta lançará o seguinte erro mostrando que o percentil numérico constante varia de 0 a 1 somente.

Aplicando função aproximada de percentil_disc em valores nulos

Neste exemplo, aplicaremos a função aproximada percentil_disc em uma tabela nomeada aproximação que inclui os valores nulos, como mostrado abaixo:

Alfa beta
0 0
0 10
1 20
1 90
1 40
2 10
2 20
2 75
2 20
3 25
NULO 40

Agora, vamos solicitar o 25º percentil nesta tabela. Para isso, use a seguinte consulta:

Selecione Alpha, Percentil aproximado_disc (0.25)
Dentro do grupo (Order by Beta)
da aproximação
Grupo de Alpha
Ordem de Alpha;

O 25º percentil do alfa coluna do aproximação A tabela será a seguinte:

Alfa percentil_disc
0 0
1 20
2 10
3 25
4

Conclusão

Neste artigo, estudamos como usar a função aproximada de percentil_disc no Redshift para calcular qualquer percentil de uma coluna. Aprendemos o uso de função aproximada de percentil_disc em diferentes conjuntos de dados com diferentes percentis constantes numéricas. Aprendemos a usar parâmetros diferentes enquanto usamos a função aproximada de percentil_disc e como essa função trata quando uma constante percentual de mais de 1 é passada.