duckdb / duckdb/duckdb-java

Partitioned Export with COPY Generates Excessively Many Small Files within Each Partition

Aperta
#152 1 commento 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
127
Fork
80
Merge medio
13h 49m
PR unite (30g)
48

Descrizione

**Duckdb Version**: 1.1.3 and 1.2.0

When using the COPY command to export data into Parquet format with a partition key (e.g., batch_id), DuckDB produces multiple very small files (approximately 50–100KB each). In our use case—exporting around 100 million line items (1 crore) into batches of 5,000 line items each—this results in roughly 20,000 separate partition directories and small file fragments within each.
**Current output**
```
\batch_id=1000\
records_0.parquet (30kb)
records_1.parquet(70kb)
```

**Expected output**
```
\batch_id=1000\
records_0.parquet (100kb)
```

**Command used to export :**
```sql
COPY my_schema.my_table
TO '/path/to/export'
(FORMAT 'parquet', PARTITION_BY (batch_id), OVERWRITE_OR_IGNORE, FILENAME_PATTERN 'records_{i}');
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia riproducendo il comando COPY documentato con il partizionamento Parquet e il FILENAME_PATTERN mostrato nell’issue. Confronta i file generati all’interno di una partizione con l’output atteso in un singolo file; il lavoro è completato quando l’esportazione non crea più frammenti piccoli non necessari per il workload segnalato.

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

Valutazione

Stack tecnologico
sql
Ambito
databases
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.