Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Use pyarrow.compute.unique on struct arrays once a struct kernel ships

Aberta
#170 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
python
Domínio
databases

Direção de pesquisa

Read PR #167 and inspect the lazy backend to understand the removed eager duplicate detection and whether any row set uniqueness check has since been added. Check whether the project's supported PyArrow version provides a struct kernel for pyarrow.compute.unique; the issue describes the proposed StructArray approach. Done means the applicable uniqueness check uses that kernel when available, with a count check.

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

Descrição

Tracking issue for a small follow-up on PR #167.

Inside the now-removed eager duplicate-detection path we used a Python set over per-row dim tuples instead of pyarrow.compute.unique on a StructArray because pc.unique does not have a struct kernel in pyarrow 23.0.0:

pyarrow.lib.ArrowNotImplementedError: Function 'unique' has no kernel matching input types (struct<lat: double, lon: int64>)

When the dependency floor moves and pyarrow adds the kernel, the Python-side scan can be replaced with a single pc.unique(pa.StructArray.from_arrays([table.column(d) for d in dimension_columns])) and a count check.

Currently the eager reshape path no longer exists in the lazy backend (PR #167 unified eager and lazy), but the same pattern may resurface if a future feature reintroduces row-set uniqueness checks on the SQL output (e.g. for stricter duplicate diagnostics on aggregation results). Filing here so it isn't lost.

Linguagem predominante
Python
Estrelas
142
Forks
19
Merge médio
1d 9h
PRs com merge (30d)
9

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de xqlsystems/xarray-sql

Todas as issues de xqlsystems/xarray-sql

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

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