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
- REDUCE BY
- USING
- CLUSTER BY
- GROUP BY
- 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