[
https://issues.apache.org/jira/browse/HIVE-26102?focusedWorklogId=752921&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-752921
]
ASF GitHub Bot logged work on HIVE-26102:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 05/Apr/22 14:30
Start Date: 05/Apr/22 14:30
Worklog Time Spent: 10m
Work Description: marton-bod commented on code in PR #3131:
URL: https://github.com/apache/hive/pull/3131#discussion_r842857047
##########
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergOutputCommitter.java:
##########
@@ -118,18 +120,23 @@ public void commitTask(TaskAttemptContext
originalContext) throws IOException {
.run(output -> {
Table table =
HiveIcebergStorageHandler.table(context.getJobConf(), output);
if (table != null) {
- HiveIcebergRecordWriter writer = writers.get(output);
- DataFile[] closedFiles;
+ HiveIcebergWriter writer = writers.get(output);
+ HiveIcebergWriter delWriter = delWriters.get(output);
+ String fileForCommitLocation =
generateFileForCommitLocation(table.location(), jobConf,
+ attemptID.getJobID(), attemptID.getTaskID().getId());
+ if (delWriter != null) {
+ DeleteFile[] closedFiles = delWriter.deleteFiles().toArray(new
DeleteFile[0]);
+ createFileForCommit(closedFiles, fileForCommitLocation,
table.io());
Review Comment:
We could write into a single forCommit, but it would complicate things
during the jobCommit operation. We'd have to read the files back from disk and
check for each file separately whether it's a DataFile or a DeleteFile, since
they each need a different Iceberg API call to commit them (`table.newAppend()`
vs `table.newRowDelta()`, respcetively)
Issue Time Tracking
-------------------
Worklog Id: (was: 752921)
Time Spent: 3h 40m (was: 3.5h)
> Implement DELETE statements for Iceberg tables
> ----------------------------------------------
>
> Key: HIVE-26102
> URL: https://issues.apache.org/jira/browse/HIVE-26102
> Project: Hive
> Issue Type: New Feature
> Reporter: Marton Bod
> Assignee: Marton Bod
> Priority: Major
> Labels: pull-request-available
> Time Spent: 3h 40m
> Remaining Estimate: 0h
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)