This is an automated email from the ASF dual-hosted git repository.
mbod pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 4cc5b4f HIVE-25871: Set name mapping table property for migrated
Iceberg tables (#2948) (Zoltan Borok-Nagy, reviewed by Peter Vary and Marton
Bod)
4cc5b4f is described below
commit 4cc5b4fa13dd0cf7db3c23600b8f8ef16c0d902c
Author: boroknagyz <[email protected]>
AuthorDate: Fri Jan 21 15:42:26 2022 +0100
HIVE-25871: Set name mapping table property for migrated Iceberg tables
(#2948) (Zoltan Borok-Nagy, reviewed by Peter Vary and Marton Bod)
---
.../apache/iceberg/hive/HiveSchemaConverter.java | 3 ++-
.../iceberg/mr/hive/HiveIcebergMetaHook.java | 5 ++++
.../org/apache/iceberg/mr/hive/HiveTableUtil.java | 1 -
.../iceberg/mr/hive/TestHiveIcebergMigration.java | 4 +++
.../test/queries/positive/describe_iceberg_table.q | 4 +--
.../queries/positive/show_create_iceberg_table.q | 4 +--
.../alter_multi_part_table_to_iceberg.q.out | 30 ++++++++++++++++++++++
.../positive/alter_part_table_to_iceberg.q.out | 21 +++++++++++++++
.../results/positive/alter_table_to_iceberg.q.out | 21 +++++++++++++++
.../results/positive/describe_iceberg_table.q.out | 4 +--
.../positive/show_create_iceberg_table.q.out | 4 +--
.../truncate_partitioned_iceberg_table.q.out | 14 ++++++++++
12 files changed, 105 insertions(+), 10 deletions(-)
diff --git
a/iceberg/iceberg-catalog/src/main/java/org/apache/iceberg/hive/HiveSchemaConverter.java
b/iceberg/iceberg-catalog/src/main/java/org/apache/iceberg/hive/HiveSchemaConverter.java
index f06b390..5968693 100644
---
a/iceberg/iceberg-catalog/src/main/java/org/apache/iceberg/hive/HiveSchemaConverter.java
+++
b/iceberg/iceberg-catalog/src/main/java/org/apache/iceberg/hive/HiveSchemaConverter.java
@@ -47,7 +47,8 @@ class HiveSchemaConverter {
private HiveSchemaConverter(boolean autoConvert) {
this.autoConvert = autoConvert;
- this.id = 0;
+ // Iceberg starts field id assignment from 1.
+ this.id = 1;
}
static Schema convert(List<String> names, List<TypeInfo> typeInfos,
List<String> comments, boolean autoConvert) {
diff --git
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
index f19b3b6..39b02f4 100644
---
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
+++
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergMetaHook.java
@@ -71,6 +71,9 @@ import org.apache.iceberg.expressions.Expressions;
import org.apache.iceberg.hive.HiveSchemaUtil;
import org.apache.iceberg.hive.HiveTableOperations;
import org.apache.iceberg.io.FileIO;
+import org.apache.iceberg.mapping.MappingUtil;
+import org.apache.iceberg.mapping.NameMapping;
+import org.apache.iceberg.mapping.NameMappingParser;
import org.apache.iceberg.mr.Catalogs;
import org.apache.iceberg.mr.InputFormatConfig;
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
@@ -285,6 +288,8 @@ public class HiveIcebergMetaHook implements HiveMetaHook {
// files do not contain Iceberg field IDs. This makes certain schema
evolution operations problematic, so we
// want to disable these ops for now using this new table prop
hmsTable.getParameters().put(MIGRATED_TO_ICEBERG, "true");
+ NameMapping nameMapping =
MappingUtil.create(preAlterTableProperties.schema);
+ hmsTable.getParameters().put(TableProperties.DEFAULT_NAME_MAPPING,
NameMappingParser.toJson(nameMapping));
}
if (AlterTableType.ADDCOLS.equals(currentAlterTableOp)) {
diff --git
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveTableUtil.java
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveTableUtil.java
index a975cd6..e1eca8f 100644
---
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveTableUtil.java
+++
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveTableUtil.java
@@ -82,7 +82,6 @@ public class HiveTableUtil {
MetricsConfig metricsConfig =
MetricsConfig.fromProperties(icebergTable.properties());
String nameMappingString =
icebergTable.properties().get(TableProperties.DEFAULT_NAME_MAPPING);
NameMapping nameMapping = nameMappingString != null ?
NameMappingParser.fromJson(nameMappingString) : null;
-
try {
if (partitionSpecProxy.size() == 0) {
List<DataFile> dataFiles = getDataFiles(filesIterator,
Collections.emptyMap(), format, spec, metricsConfig,
diff --git
a/iceberg/iceberg-handler/src/test/java/org/apache/iceberg/mr/hive/TestHiveIcebergMigration.java
b/iceberg/iceberg-handler/src/test/java/org/apache/iceberg/mr/hive/TestHiveIcebergMigration.java
index f7fe63e..ed9962f 100644
---
a/iceberg/iceberg-handler/src/test/java/org/apache/iceberg/mr/hive/TestHiveIcebergMigration.java
+++
b/iceberg/iceberg-handler/src/test/java/org/apache/iceberg/mr/hive/TestHiveIcebergMigration.java
@@ -31,6 +31,7 @@ import
org.apache.hadoop.hive.metastore.partition.spec.PartitionSpecProxy;
import org.apache.iceberg.AssertHelpers;
import org.apache.iceberg.BaseMetastoreTableOperations;
import org.apache.iceberg.FileFormat;
+import org.apache.iceberg.TableProperties;
import org.apache.iceberg.catalog.TableIdentifier;
import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap;
@@ -225,12 +226,15 @@ public class TestHiveIcebergMigration extends
HiveIcebergStorageHandlerWithEngin
private void validateTblProps(Table hmsTable, boolean migrationSucceeded) {
String migratedProp =
hmsTable.getParameters().get(HiveIcebergMetaHook.MIGRATED_TO_ICEBERG);
String tableTypeProp =
hmsTable.getParameters().get(BaseMetastoreTableOperations.TABLE_TYPE_PROP);
+ String nameMappingProp =
hmsTable.getParameters().get(TableProperties.DEFAULT_NAME_MAPPING);
if (migrationSucceeded) {
Assert.assertTrue(Boolean.parseBoolean(migratedProp));
Assert.assertEquals(BaseMetastoreTableOperations.ICEBERG_TABLE_TYPE_VALUE.toUpperCase(),
tableTypeProp);
+ Assert.assertTrue(nameMappingProp != null && !nameMappingProp.isEmpty());
} else {
Assert.assertNull(migratedProp);
Assert.assertNotEquals(BaseMetastoreTableOperations.ICEBERG_TABLE_TYPE_VALUE.toUpperCase(),
tableTypeProp);
+ Assert.assertNull(nameMappingProp);
}
}
}
diff --git
a/iceberg/iceberg-handler/src/test/queries/positive/describe_iceberg_table.q
b/iceberg/iceberg-handler/src/test/queries/positive/describe_iceberg_table.q
index 371c41c..26dd447 100644
--- a/iceberg/iceberg-handler/src/test/queries/positive/describe_iceberg_table.q
+++ b/iceberg/iceberg-handler/src/test/queries/positive/describe_iceberg_table.q
@@ -8,7 +8,7 @@ DROP TABLE IF EXISTS ice_t_transform;
CREATE EXTERNAL TABLE ice_t_transform (year_field date, month_field date,
day_field date, hour_field timestamp, truncate_field string, bucket_field int,
identity_field int) PARTITIONED BY SPEC (year(year_field), month(month_field),
day(day_field), hour(hour_field), truncate(2, truncate_field), bucket(2,
bucket_field), identity_field) STORED BY ICEBERG;
DROP TABLE IF EXISTS ice_t_transform_prop;
-CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field date,
month_field date, day_field date, hour_field timestamp, truncate_field string,
bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":1,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":2,"field-id":1001},{"name":"day_field_day","transform":"day","source-id":3,"fie
[...]
+CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field date,
month_field date, day_field date, hour_field timestamp, truncate_field string,
bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":2,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":3,"field-id":1001},{"name":"day_field_day","transform":"day","source-id":4,"fie
[...]
DROP TABLE IF EXISTS ice_t_identity_part;
CREATE EXTERNAL TABLE ice_t_identity_part (a int) PARTITIONED BY (b string)
STORED BY ICEBERG;
@@ -22,4 +22,4 @@ DESCRIBE FORMATTED ice_t_identity_part;
DESCRIBE FORMATTED ice_t i;
DESCRIBE FORMATTED ice_t_transform year_field;
DESCRIBE FORMATTED ice_t_transform_prop id;
-DESCRIBE FORMATTED ice_t_identity_part a;
\ No newline at end of file
+DESCRIBE FORMATTED ice_t_identity_part a;
diff --git
a/iceberg/iceberg-handler/src/test/queries/positive/show_create_iceberg_table.q
b/iceberg/iceberg-handler/src/test/queries/positive/show_create_iceberg_table.q
index 3ceb2d8..f9745a2 100644
---
a/iceberg/iceberg-handler/src/test/queries/positive/show_create_iceberg_table.q
+++
b/iceberg/iceberg-handler/src/test/queries/positive/show_create_iceberg_table.q
@@ -7,9 +7,9 @@ CREATE EXTERNAL TABLE ice_t_transform (year_field date,
month_field date, day_fi
SHOW CREATE TABLE ice_t_transform;
DROP TABLE IF EXISTS ice_t_transform_prop;
-CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field date,
month_field date, day_field date, hour_field timestamp, truncate_field string,
bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":1,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":2,"field-id":1001},{"name":"day_field_day","transform":"day","source-id":3,"fie
[...]
+CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field date,
month_field date, day_field date, hour_field timestamp, truncate_field string,
bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":2,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":3,"field-id":1001},{"name":"day_field_day","transform":"day","source-id":4,"fie
[...]
SHOW CREATE TABLE ice_t_transform_prop;
DROP TABLE IF EXISTS ice_t_identity_part;
CREATE EXTERNAL TABLE ice_t_identity_part (a int) PARTITIONED BY (b string)
STORED BY ICEBERG;
-SHOW CREATE TABLE ice_t_identity_part;
\ No newline at end of file
+SHOW CREATE TABLE ice_t_identity_part;
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/alter_multi_part_table_to_iceberg.q.out
b/iceberg/iceberg-handler/src/test/results/positive/alter_multi_part_table_to_iceberg.q.out
index 7c71d12..53603e2 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/alter_multi_part_table_to_iceberg.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/alter_multi_part_table_to_iceberg.q.out
@@ -192,6 +192,16 @@ Table Parameters:
numFiles 7
numRows 15
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ }, {
+ \"field-id\" : 3,
+ \"names\" : [ \"c\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
@@ -431,6 +441,16 @@ Table Parameters:
numFiles 7
numRows 15
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ }, {
+ \"field-id\" : 3,
+ \"names\" : [ \"c\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
@@ -670,6 +690,16 @@ Table Parameters:
numFiles 7
numRows 15
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ }, {
+ \"field-id\" : 3,
+ \"names\" : [ \"c\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/alter_part_table_to_iceberg.q.out
b/iceberg/iceberg-handler/src/test/results/positive/alter_part_table_to_iceberg.q.out
index 6bc2192..94f01bf 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/alter_part_table_to_iceberg.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/alter_part_table_to_iceberg.q.out
@@ -150,6 +150,13 @@ Table Parameters:
numFiles 4
numRows 9
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
@@ -341,6 +348,13 @@ Table Parameters:
numFiles 4
numRows 9
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
@@ -532,6 +546,13 @@ Table Parameters:
numFiles 4
numRows 9
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/alter_table_to_iceberg.q.out
b/iceberg/iceberg-handler/src/test/results/positive/alter_table_to_iceberg.q.out
index d69c983..97631ca 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/alter_table_to_iceberg.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/alter_table_to_iceberg.q.out
@@ -106,6 +106,13 @@ Table Parameters:
numRows 5
previous_metadata_location hdfs://### HDFS PATH ###
rawDataSize 455
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
@@ -249,6 +256,13 @@ Table Parameters:
numRows 5
previous_metadata_location hdfs://### HDFS PATH ###
rawDataSize 116
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
@@ -392,6 +406,13 @@ Table Parameters:
numRows 5
previous_metadata_location hdfs://### HDFS PATH ###
rawDataSize 0
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/describe_iceberg_table.q.out
b/iceberg/iceberg-handler/src/test/results/positive/describe_iceberg_table.q.out
index a20fec6..96f72d1 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/describe_iceberg_table.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/describe_iceberg_table.q.out
@@ -26,11 +26,11 @@ PREHOOK: query: DROP TABLE IF EXISTS ice_t_transform_prop
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS ice_t_transform_prop
POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field
date, month_field date, day_field date, hour_field timestamp, truncate_field
string, bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":1,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":2,"field-id":1001},{"name":"day_field_day","transform":"day","s
[...]
+PREHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field
date, month_field date, day_field date, hour_field timestamp, truncate_field
string, bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":2,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":3,"field-id":1001},{"name":"day_field_day","transform":"day","s
[...]
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@ice_t_transform_prop
-POSTHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int,
year_field date, month_field date, day_field date, hour_field timestamp,
truncate_field string, bucket_field int, identity_field int) STORED BY ICEBERG
TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":1,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":2,"field-id":1001},{"name":"day_field_day","transform":"day","
[...]
+POSTHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int,
year_field date, month_field date, day_field date, hour_field timestamp,
truncate_field string, bucket_field int, identity_field int) STORED BY ICEBERG
TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":2,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":3,"field-id":1001},{"name":"day_field_day","transform":"day","
[...]
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@ice_t_transform_prop
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/show_create_iceberg_table.q.out
b/iceberg/iceberg-handler/src/test/results/positive/show_create_iceberg_table.q.out
index efadbe9..0684512 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/show_create_iceberg_table.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/show_create_iceberg_table.q.out
@@ -89,11 +89,11 @@ PREHOOK: query: DROP TABLE IF EXISTS ice_t_transform_prop
PREHOOK: type: DROPTABLE
POSTHOOK: query: DROP TABLE IF EXISTS ice_t_transform_prop
POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field
date, month_field date, day_field date, hour_field timestamp, truncate_field
string, bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":1,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":2,"field-id":1001},{"name":"day_field_day","transform":"day","s
[...]
+PREHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int, year_field
date, month_field date, day_field date, hour_field timestamp, truncate_field
string, bucket_field int, identity_field int) STORED BY ICEBERG TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":2,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":3,"field-id":1001},{"name":"day_field_day","transform":"day","s
[...]
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@ice_t_transform_prop
-POSTHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int,
year_field date, month_field date, day_field date, hour_field timestamp,
truncate_field string, bucket_field int, identity_field int) STORED BY ICEBERG
TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":1,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":2,"field-id":1001},{"name":"day_field_day","transform":"day","
[...]
+POSTHOOK: query: CREATE EXTERNAL TABLE ice_t_transform_prop (id int,
year_field date, month_field date, day_field date, hour_field timestamp,
truncate_field string, bucket_field int, identity_field int) STORED BY ICEBERG
TBLPROPERTIES
('iceberg.mr.table.partition.spec'='{"spec-id":0,"fields":[{"name":"year_field_year","transform":"year","source-id":2,"field-id":1000},{"name":"month_field_month","transform":"month","source-id":3,"field-id":1001},{"name":"day_field_day","transform":"day","
[...]
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@ice_t_transform_prop
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/truncate_partitioned_iceberg_table.q.out
b/iceberg/iceberg-handler/src/test/results/positive/truncate_partitioned_iceberg_table.q.out
index d67d125..ec48682 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/truncate_partitioned_iceberg_table.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/truncate_partitioned_iceberg_table.q.out
@@ -102,6 +102,13 @@ Table Parameters:
numFiles 4
numRows 9
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#
@@ -188,6 +195,13 @@ Table Parameters:
numFiles 0
numRows 0
previous_metadata_location hdfs://### HDFS PATH ###
+ schema.name-mapping.default [ {
+ \"field-id\" : 1,
+ \"names\" : [ \"a\" ]
+ }, {
+ \"field-id\" : 2,
+ \"names\" : [ \"b\" ]
+ } ]
storage_handler
org.apache.iceberg.mr.hive.HiveIcebergStorageHandler
table_type ICEBERG
totalSize #Masked#