Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#170 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
databases

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Python
Stelle
142
Fork
19
Merge medio
1g 9h
PR unite (30g)
9

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di xqlsystems/xarray-sql

Tutte le issue di xqlsystems/xarray-sql

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.