FC ConcursosFC Concursos

Questão FC296050

HiveQL é uma linguagem de consulta, semelhante ao SQL, para Hive. Uma das suas características interessantes é ter uma extensão que permite distribuir consultas entre reducers em u

Tópicos Mesclados e Outros Assuntos de Banco de Dados

CESGRANRIO · 2018

HiveQL é uma linguagem de consulta, semelhante ao SQL, para Hive. Uma das suas características interessantes é ter uma extensão que permite distribuir consultas entre reducers em um script do tipo map-reduce.

 

Se for necessário simultaneamente distribuir as consultas e garantir a ordenação ou o agrupamento das chaves distribuídas, deve-se usar a extensão

  1. REDUCE BY
  2. USING
  3. CLUSTER BY
  4. GROUP BY
  5. DISTRIBUTE BY
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

CLUSTER BY é a cláusula do Hive usada quando se quer ao mesmo tempo distribuir as linhas entre reducers e garantir a ordenação por chave dentro de cada reducer. Ela aplica uma função de partição (hash) sobre as expressões informadas, mandando todas as tuplas com a mesma chave para o mesmo reducer.

Além disso, CLUSTER BY também realiza uma ordenação local por essas chaves dentro de cada reducer, o que facilita agregações ou operações que dependam de sequência ordenada por chave sem precisar de um ORDER BY global (que ordena toda a saída). Na prática, é equivalente a combinar DISTRIBUTE BY com SORT BY sobre as mesmas expressões.

Use CLUSTER BY quando precisar escalabilidade (paralelismo entre reducers) e, ao mesmo tempo, assegurar que registros com a mesma chave cheguem juntos e estejam ordenados localmente para processamento eficiente em MapReduce.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo