docs: fix stale and missing native write details in iceberg-writes.md and iceberg.md
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- documentation
Research direction
The issue points to specific lines in docs/source/user-guide/latest/iceberg-writes.md and iceberg.md. Start by reading those files to understand the current text. Check the referenced pull requests (#5840, #6114) and the test suite CometIcebergWriteActionSuite for context on what needs updating. Verify the behavior of the spark.comet.exec.localTableScan.enabled configuration. The goal is to correct the listed inaccuracies and add the missing details.
Written by the indexing model from the issue text.
Description
What is the problem the feature request solves?
The Iceberg user guide has errors and gaps about native writes:
docs/source/user-guide/latest/iceberg-writes.md:273-276says float/double partition directories use Rust's shortest representation (f=1where iceberg-java writesf=1.0). Since #5840 they use Java'sDouble.toStringrules and match iceberg-java.iceberg-writes.md:316-319says the parity suite compares committed manifests byte-for-byte.CometIcebergWriteActionSuitecompares aggregatedreadable_metrics(min/max, counts), not manifest bytes.iceberg-writes.mddoes not say that writes whose input is a local relation, such asINSERT ... VALUESanddf.writeTo(...).append()on a local DataFrame, needspark.comet.exec.localTableScan.enabled(defaultfalse). Without it they silently use iceberg-java even with both write flags on.iceberg-writes.mddoes not list #6114 (dictionary page kept for high-cardinality columns) among the accepted divergences.docs/source/user-guide/latest/iceberg.md:184lists "Iceberg writes (reads are accelerated, writes use Spark)" as unsupported. Native writes exist behindspark.comet.iceberg.write.enabled; that page should point toiceberg-writes.md.
Describe the potential solution
Fix the four points above. The "experimental, disabled by default" wording will need another pass when the defaults change (#5644).
Additional context
Found in an audit of the native Iceberg write path before enabling it by default. Part of #5649.
- Dominant language
- Scala
- Stars
- 1.3k
- Forks
- 377
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 243
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/datafusion-comet
-
area:ci bug priority:low
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
apache/datafusion-comet#6060 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
apache/datafusion-comet#6028 ·
-
enhancement
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
apache/datafusion-comet#5861 ·
-
requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
apache/datafusion-comet#5661 ·
-
requires-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
apache/datafusion-comet#5601 ·
All issues in apache/datafusion-comet
Similar issues
-
Area: Excel support
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
orbeon/orbeon-forms#7893 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
lichess-org/lila#21788 · 2 comments ·
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
GiganticMinecraft/SeichiAssist#2978 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
chipsalliance/rocket-chip#3833 ·
-
ShuffleManagerRegistry.register recursion guard is inverted, permits GlutenShuffleManager subclasses Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100