A expansão de dados ocorre quando uma tarefa do Fuxi gera um volume de saída muito superior ao da entrada, o que prejudica o desempenho. Conheça as causas comuns e saiba como resolver o problema.
Descrição do problema
No Logview, o volume de dados de saída de uma tarefa do Fuxi pode ser significativamente maior que o de entrada. Verifique essa condição consultando os atributos I/O Record e I/O Bytes da tarefa do Fuxi.
Por exemplo, uma entrada de 1 GB pode se expandir para 1 TB após o processamento. Processar 1 TB de dados em uma única instância reduz drasticamente o desempenho.
Causas e medidas
A tabela a seguir lista as possíveis causas e as medidas recomendadas.
| Causa | Descrição | Medida |
| Bug no código | O código apresenta defeitos. Exemplos:
|
Corrija os bugs no código. |
| Operações de agregação inadequadas |
Operações de agregação padrão raramente causam problemas, pois geram poucos dados intermediários e têm baixa complexidade computacional. No entanto, certas operações, como
collect_list e median, precisam reter todos os dados intermediários. A combinação com outras técnicas de agregação pode levar à expansão de dados. Exemplos:
|
Evite operações de agregação que causem expansão de dados. |
Operações JOIN inadequadas |
Por exemplo, a tabela à esquerda de uma operação JOIN contém grande quantidade de dados populacionais, enquanto a tabela à direita é uma tabela de dimensões com centenas de linhas para cada gênero. Executar a operação JOIN com base nos gêneros pode expandir os dados da tabela à esquerda para centenas de vezes o tamanho original. |
Para evitar a expansão de dados, agregue a tabela à direita antes de juntá-la à tabela à esquerda. |