[PIPELINES] Support partition transforms in SDP partition_cols
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Ambito
- data-engineering, databases
Direzione di ricerca
Inizia in DatasetManager.materializeTable, dove partition_cols viene attualmente mappato tramite Expressions.identity. Leggi la logica di parsing Catalyst esistente utilizzata per le trasformazioni SQL PARTITIONED BY, quindi verifica il comportamento per le colonne semplici, months(event_time) e bucket(16, user_id). Il lavoro è completato quando le trasformazioni identity rimangono per i nomi delle colonne, mentre la sintassi di trasformazione supportata produce le corrispondenti trasformazioni V2.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
spark=4.1.3
iceberg=1.11.0
Problem
SDP currently treats every entry in partition_cols as an identity partition transform.
for example
@dp.materialized_view(partition_cols=["months(event_time)"])
def events():
...
causes months(event_time) to be interpreted as a column name instead of a partition transform.
Behaviour comes from DatasetManager.materializeTable where all partition cols are converted using identity
table.partitionCols.toSeq.flatten.map(Expressions.identity)
and as a result using the above partition col it just becomes identity('months(event_time)').
Expected behaviour
SDP should support the same partition transforms that Spark SQL already supports
Bare col-names (partition_col=["event_date"]) should continue producing identity(event_date)
but partition transforms should be respected, and combining partitions like
partition_cols=["country", "bucket(16, user_id)"]
should produce its corresponding V2 partition transforms.
Existing SQL support
Catalyst parses partition transform syntax for SQL PARTITIONED BY and creates corresponding V2 Transform
SDP should just reuse the existing Catalyst parsing logic and not short-circuit everything to identity transform.
- Lingua principale
- Scala
- Stelle
- 44.3k
- Fork
- 29.5k
- Merge medio
- 8h 43m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/spark
-
[BUILD] Bump Ivy up to 2.6.0Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 2 giorni
-
[SQL][CONNECT] SparkConnectClient may drop metadata (auth headers) on retried/reattached RPCs if metadata is a non-list iterableForse già presa @zainmirzaaa l’ha presa 63 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
[CORE] bug report: collision of resource profile idForse già presa @ybapat l’ha presa 88 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
apache/spark#57498 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
[BUILD] Drop oro dependencyAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/spark#57209 · 7 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
Merge spark PR script hard blocks on JIRAForse già presa @holdenk l’ha presa 2 giorni fa. Aperta
apache/spark#59693 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di apache/spark
Issue simili
-
requires-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/datafusion-comet#7176 ·
I maintainer di solito rispondono entro 1 giorno
-
kind:bug state:needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenLineage/OpenLineage#5100 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
http4s/http4s#8015 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
testcontainers/testcontainers-scala#623 ·
I maintainer di solito rispondono entro 1 giorno
-
? - Needs Triage bug shuffle
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
NVIDIA/cudf-spark#16528 ·
I maintainer di solito rispondono entro 1 giorno