apache / apache/iceberg-python

Upserting large table extremely slow

Aberta
#2,159 22 comentários 2 reações 0 responsáveis Ver no GitHub
stale
Linguagem predominante
Python
Estrelas
1.1k
Forks
581
Merge médio
1d 17h
PRs com merge (30d)
78

Descrição

### Feature Request / Improvement

## Feature Request / Improvement

Upserting large dataframes (tens of millions of rows) in un-usably slow due to creating a massive `BooleanExpression` in `upsert_util.create_match_filter`. This is before any IO is even started. It would be nice if upserts could support large tables.

I'd be happy to work on this issue.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece em upsert_util.create_match_filter, onde a issue identifica uma BooleanExpression massiva como o gargalo anterior à I/O. Rastreie como esse filtro é usado durante os upserts de dataframe e meça o comportamento com uma tabela grande. Considera-se concluído quando fazer upsert de dezenas de milhões de linhas não gastar mais uma quantidade de tempo inutilizável construindo o filtro de correspondência.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
data-engineering
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Ativa
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.