_read_deletes filters the full delete table once per distinct file_path
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 68/100
- Tipo de issue
- Refatoração
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- python
- Domínio
- data-engineering, performance
Direção de pesquisa
Start at the _read_deletes implementation and inspect both the dictionary-comprehension branch and the ORC branch described in the issue. Trace how file_path and pos are represented, then verify that the result is equivalent while avoiding a full-table filter for every distinct path; add or run coverage for delete files containing many paths.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
_read_deletes builds its result with a dict comprehension that filters the whole table once per distinct file_path:
{
file.as_py(): table.filter(pc.field("file_path") == file).column("pos")
for file in table.column("file_path").chunks[0].dictionary
}
Cost is therefore O(rows x distinct paths). A delete file with many distinct paths makes this quadratic. The ORC branch below has the same shape via unique().
Issue investigation generated via claude, reviewed by Sung, Kevin, Fokko.
- Linguagem predominante
- Python
- Estrelas
- 1.1k
- Forks
- 589
- Merge médio
- 1d 20h
- PRs com merge (30d)
- 68
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de apache/iceberg-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
apache/iceberg-python#4010 · 1 reação ·
-
kind:bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
apache/iceberg-python#4006 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/iceberg-python#3996 ·
-
Deletion vector bitmap count is read from the blob and used as a loop bound without validation Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
apache/iceberg-python#3979 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/iceberg-python#3885 ·
Todas as issues de apache/iceberg-python
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
stephrobert/dsoxlab#238 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
sublimehq/package_control#1780 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
nwg-piotr/nwg-displays#145 ·