This is an automated email from the ASF dual-hosted git repository.
deniskuzZ 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 8b82eae6937 HIVE-30049: Iceberg: decimal64 vectorization is gated by a
property nothing sets (#6833)
8b82eae6937 is described below
commit 8b82eae69375c0f9ee1d93264e5e416b70c77fa4
Author: Denys Kuzmenko <[email protected]>
AuthorDate: Tue Oct 6 16:41:18 2026 +0200
HIVE-30049: Iceberg: decimal64 vectorization is gated by a property nothing
sets (#6833)
---
.../iceberg/mr/hive/HiveIcebergInputFormat.java | 26 ----------------------
.../iceberg/mr/hive/HiveIcebergMetaHook.java | 1 -
.../mr/hive/vector/HiveVectorizedReader.java | 7 ------
.../positive/vectorized_iceberg_read_mixed.q | 6 ++---
.../positive/vectorized_iceberg_read_multitable.q | 6 ++---
.../queries/positive/vectorized_iceberg_read_orc.q | 8 +++----
.../positive/vectorized_iceberg_read_parquet.q | 8 +++----
.../results/positive/iceberg_merge_schema.q.out | 8 +++----
.../llap/vectorized_iceberg_read_mixed.q.out | 12 +++++-----
.../llap/vectorized_iceberg_read_multitable.q.out | 4 ----
.../llap/vectorized_iceberg_read_orc.q.out | 16 ++++++-------
.../llap/vectorized_iceberg_read_parquet.q.out | 16 ++++++-------
.../positive/vectorized_iceberg_merge_mixed.q.out | 24 ++++++++++----------
.../positive/vectorized_iceberg_read_mixed.q.out | 12 +++++-----
.../vectorized_iceberg_read_multitable.q.out | 4 ----
.../positive/vectorized_iceberg_read_orc.q.out | 16 ++++++-------
.../positive/vectorized_iceberg_read_parquet.q.out | 16 ++++++-------
.../vector/VectorizedDummyColumnReader.java | 4 ++--
18 files changed, 75 insertions(+), 119 deletions(-)
diff --git
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergInputFormat.java
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergInputFormat.java
index dbf693304d7..c7c0557dc6f 100644
---
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergInputFormat.java
+++
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergInputFormat.java
@@ -24,7 +24,6 @@
import java.util.Properties;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hive.common.TableName;
import org.apache.hadoop.hive.common.io.DataCache;
import org.apache.hadoop.hive.common.io.FileMetadataCache;
import org.apache.hadoop.hive.conf.HiveConf;
@@ -37,7 +36,6 @@
import org.apache.hadoop.hive.ql.io.sarg.ConvertAstToSearchArg;
import org.apache.hadoop.hive.ql.io.sarg.SearchArgument;
import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
-import org.apache.hadoop.hive.ql.plan.TableDesc;
import org.apache.hadoop.hive.ql.plan.TableScanDesc;
import org.apache.hadoop.hive.serde2.ColumnProjectionUtils;
import org.apache.hadoop.mapred.FileSplit;
@@ -68,7 +66,6 @@ public class HiveIcebergInputFormat extends
MapredIcebergInputFormat<Record>
LlapCacheOnlyInputFormatInterface.VectorizedOnly {
private static final Logger LOG =
LoggerFactory.getLogger(HiveIcebergInputFormat.class);
- public static final String ICEBERG_DISABLE_DECIMAL64_PREFIX =
"iceberg.disable.decimal64.";
/**
* Encapsulates planning-time and reader-time Iceberg filter expressions
derived from Hive predicates.
@@ -243,24 +240,6 @@ public boolean shouldSkipCombine(Path path, Configuration
conf) {
@Override
public VectorizedSupport.Support[] getSupportedFeatures() {
- throw new UnsupportedOperationException("This overload of
getSupportedFeatures should never be called");
- }
-
- @Override
- public VectorizedSupport.Support[] getSupportedFeatures(HiveConf hiveConf,
TableDesc tableDesc) {
- // Both vectorizable file formats (ORC and Parquet) now support DECIMAL_64
reads, so advertise it
- // whenever decimal64 vectorization is enabled for the table, regardless
of file format.
- boolean decimal64Enabled =
-
Boolean.parseBoolean(tableDesc.getProperty(HiveIcebergMetaHook.DECIMAL64_VECTORIZATION));
- if (!decimal64Enabled) {
- // Keep the LLAP ORC reader from emitting decimal64 so it stays
consistent with the full-decimal
- // operator pipeline; consumed in HiveVectorizedReader#orcRecordReader.
- final String decimal64DisableConfName =
getDecimal64DisableConfName(tableDesc.getTableName());
- LOG.debug("Setting {} for table: {} to true", decimal64DisableConfName,
tableDesc.getTableName());
- hiveConf.set(decimal64DisableConfName, "true");
-
- return new VectorizedSupport.Support[] {};
- }
return new VectorizedSupport.Support[] {
VectorizedSupport.Support.DECIMAL_64 };
}
@@ -269,11 +248,6 @@ public void injectCaches(FileMetadataCache metadataCache,
DataCache dataCache, C
// no-op for Iceberg
}
- public static String getDecimal64DisableConfName(String tableName) {
- String dbAndTableName = TableName.fromString(tableName, null,
null).getNotEmptyDbTable();
- return ICEBERG_DISABLE_DECIMAL64_PREFIX + dbAndTableName;
- }
-
@Override
public FileSplit
createMergeSplit(CombineHiveInputFormat.CombineHiveInputSplit split,
Integer partition, Properties properties) throws IOException {
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 92070d64528..1c522cfd026 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
@@ -159,7 +159,6 @@ public class HiveIcebergMetaHook extends
BaseHiveIcebergMetaHook {
private static final List<org.apache.commons.lang3.tuple.Pair<Integer,
byte[]>> EMPTY_FILTER =
Lists.newArrayList(org.apache.commons.lang3.tuple.Pair.of(1, new
byte[0]));
static final String MIGRATED_TO_ICEBERG = "MIGRATED_TO_ICEBERG";
- static final String DECIMAL64_VECTORIZATION =
"iceberg.decimal64.vectorization";
static final String MANUAL_ICEBERG_METADATA_LOCATION_CHANGE =
"MANUAL_ICEBERG_METADATA_LOCATION_CHANGE";
private boolean deleteIcebergTable;
diff --git
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/vector/HiveVectorizedReader.java
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/vector/HiveVectorizedReader.java
index 0bbc5aa8f08..8fea9b263ad 100644
---
a/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/vector/HiveVectorizedReader.java
+++
b/iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/vector/HiveVectorizedReader.java
@@ -231,13 +231,6 @@ private static RecordReader<NullWritable,
VectorizedRowBatch> orcRecordReader(Jo
// TODO: add support for reading files with positional deletes with LLAP
(LLAP would need to provide file row num)
if (HiveConf.getBoolVar(job, HiveConf.ConfVars.LLAP_IO_ENABLED,
LlapProxy.isDaemon()) &&
LlapProxy.getIo() != null && task.deletes().isEmpty() &&
!InputFormatConfig.fetchVirtualColumns(job)) {
- boolean isDecimal64Disabled =
-
job.getBoolean(HiveIcebergInputFormat.getDecimal64DisableConfName(tableName),
false);
- if (isDecimal64Disabled) {
- // The LLAP ORC reader derives decimal64 support from this job var,
not the plan; clear it so
- // it emits full decimal instead.
- HiveConf.setVar(job,
HiveConf.ConfVars.HIVE_VECTORIZED_INPUT_FORMAT_SUPPORTS_ENABLED, "");
- }
recordReader = LlapProxy.getIo().llapVectorizedOrcReaderForPath(fileId,
path, null, readColumnIds,
job, start, length, reporter);
}
diff --git
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_mixed.q
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_mixed.q
index fd96b116115..4f688162109 100644
---
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_mixed.q
+++
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_mixed.q
@@ -2,7 +2,7 @@ set hive.vectorized.execution.enabled=true;
drop table if exists tbl_ice_mixed;
create external table tbl_ice_mixed(a int, b string) stored by iceberg stored
as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1');
+TBLPROPERTIES ("format-version"='1');
insert into table tbl_ice_mixed values (1, 'one'), (2, 'two'), (3, 'three'),
(4, 'four'), (5, 'five'), (111, 'one'), (22, 'two'), (11, 'one'), (44444,
'four'), (44, 'four');
explain vectorization only detail select b, max(a) from tbl_ice_mixed group
by b;
@@ -29,7 +29,7 @@ create external table tbl_ice_mixed_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
insert into tbl_ice_mixed_all_types values (1.1, 1.2, false, 4,
567890123456789, '6', "col7", cast('2012-10-03 19:58:08' as timestamp),
date('1234-09-09'), cast('10.01' as decimal(4,2)));
explain vectorization only detail select max(t_float), t_double, t_boolean,
t_int, t_bigint, t_binary, t_string,
@@ -59,7 +59,7 @@ create external table tbl_ice_mixed_parted (
b string
) partitioned by (p1 string, p2 string)
stored by iceberg stored as orc location 'file:/tmp/tbl_ice_mixed_parted'
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
insert into tbl_ice_mixed_parted values
(1, 'aa', 'Europe', 'Hungary'),
diff --git
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_multitable.q
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_multitable.q
index 73c6c05fe8f..97164e56f69 100644
---
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_multitable.q
+++
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_multitable.q
@@ -4,8 +4,7 @@ set hive.query.results.cache.enabled=false;
create external table lineitem(l_discount decimal(15,2), l_orderkey int)
stored as orc;
insert into lineitem values (100.2, 10);
-create external table customer_ice(c_custkey int) STORED BY ICEBERG stored as
orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true');
+create external table customer_ice(c_custkey int) STORED BY ICEBERG stored as
orc;
insert into customer_ice values (10);
create external table orders(o_orderkey int, o_custkey int) stored as orc;
@@ -15,8 +14,7 @@ select sum(1 - l_discount) as revenue
FROM customer_ice, orders, lineitem
WHERE c_custkey = o_custkey and l_orderkey = o_orderkey limit 20;
-create external table lineitem_ice(l_discount decimal(15,2), l_orderkey int)
STORED BY ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true');
+create external table lineitem_ice(l_discount decimal(15,2), l_orderkey int)
STORED BY ICEBERG stored as orc;
insert into lineitem_ice values (100.2, 10);
select sum(1 - l_discount) as revenue
diff --git
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_orc.q
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_orc.q
index e8baec320e9..afefa7918e7 100644
---
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_orc.q
+++
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_orc.q
@@ -2,7 +2,7 @@ set hive.vectorized.execution.enabled=true;
drop table if exists tbl_ice_orc;
create external table tbl_ice_orc(a int, b string) stored by iceberg stored as
orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1');
+TBLPROPERTIES ("format-version"='1');
insert into table tbl_ice_orc values (1, 'one'), (2, 'two'), (3, 'three'), (4,
'four'), (5, 'five'), (111, 'one'), (22, 'two'), (11, 'one'), (44444, 'four'),
(44, 'four');
analyze table tbl_ice_orc compute statistics for columns;
@@ -23,7 +23,7 @@ create external table tbl_ice_orc_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
insert into tbl_ice_orc_all_types values (1.1, 1.2, false, 4, 567890123456789,
'6', "col7", cast('2012-10-03 19:58:08' as timestamp), date('1234-09-09'),
cast('10.01' as decimal(4,2)));
explain select max(t_float), t_double, t_boolean, t_int, t_bigint, t_binary,
t_string, t_timestamp, t_date, t_decimal from tbl_ice_orc_all_types
@@ -39,7 +39,7 @@ create external table tbl_ice_orc_parted (
b string
) partitioned by (p1 string, p2 string)
stored by iceberg stored as orc location 'file:/tmp/tbl_ice_orc_parted'
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
insert into tbl_ice_orc_parted values
(1, 'aa', 'Europe', 'Hungary'),
@@ -89,7 +89,7 @@ create external table tbl_ice_orc_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
-- insert some test data
insert into tbl_ice_orc_complex values (
diff --git
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_parquet.q
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_parquet.q
index da2a69e0541..38ef8305a80 100644
---
a/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_parquet.q
+++
b/iceberg/iceberg-handler/src/test/queries/positive/vectorized_iceberg_read_parquet.q
@@ -2,7 +2,7 @@ set hive.vectorized.execution.enabled=true;
drop table if exists tbl_ice_parquet;
create external table tbl_ice_parquet(a int, b string) stored by iceberg
stored as parquet
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1');
+TBLPROPERTIES ("format-version"='1');
insert into table tbl_ice_parquet values (1, 'one'), (2, 'two'), (3, 'three'),
(4, 'four'), (5, 'five'), (111, 'one'), (22, 'two'), (11, 'one'), (44444,
'four'), (44, 'four');
analyze table tbl_ice_parquet compute statistics for columns;
@@ -22,7 +22,7 @@ create external table tbl_ice_parquet_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
insert into tbl_ice_parquet_all_types values (1.1, 1.2, false, 4,
567890123456789, '6', "col7", cast('2012-10-03 19:58:08' as timestamp),
date('1234-09-09'), cast('10.01' as decimal(4,2)));
@@ -39,7 +39,7 @@ create external table tbl_ice_parquet_parted (
b string
) partitioned by (p1 string, p2 string)
stored by iceberg stored as parquet location
'file:/tmp/tbl_ice_parquet_parted'
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
insert into tbl_ice_parquet_parted values
(1, 'aa', 'Europe', 'Hungary'),
@@ -85,7 +85,7 @@ create external table tbl_ice_parquet_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1');
+ TBLPROPERTIES ("format-version"='1');
-- insert some test data
insert into tbl_ice_parquet_complex values (
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/iceberg_merge_schema.q.out
b/iceberg/iceberg-handler/src/test/results/positive/iceberg_merge_schema.q.out
index 4eac820ba40..84ed846cb51 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/iceberg_merge_schema.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/iceberg_merge_schema.q.out
@@ -186,8 +186,8 @@ STAGE PLANS:
Map Vectorization:
enabled: true
enabledConditionsMet:
hive.vectorized.use.vectorized.input.format IS true
- inputFormatFeatureSupport: []
- featureSupportInUse: []
+ inputFormatFeatureSupport: [DECIMAL_64]
+ featureSupportInUse: [DECIMAL_64]
inputFileFormats:
org.apache.iceberg.mr.hive.HiveIcebergInputFormat
allNative: true
usesVectorUDFAdaptor: false
@@ -235,8 +235,8 @@ STAGE PLANS:
Map Vectorization:
enabled: true
enabledConditionsMet:
hive.vectorized.use.vectorized.input.format IS true
- inputFormatFeatureSupport: []
- featureSupportInUse: []
+ inputFormatFeatureSupport: [DECIMAL_64]
+ featureSupportInUse: [DECIMAL_64]
inputFileFormats:
org.apache.iceberg.mr.hive.HiveIcebergInputFormat
allNative: true
usesVectorUDFAdaptor: false
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_mixed.q.out
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_mixed.q.out
index 51f0da923f1..cc8b87f769e 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_mixed.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_mixed.q.out
@@ -5,12 +5,12 @@ POSTHOOK: query: drop table if exists tbl_ice_mixed
POSTHOOK: type: DROPTABLE
POSTHOOK: Output: database:default
PREHOOK: query: create external table tbl_ice_mixed(a int, b string) stored by
iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_mixed
POSTHOOK: query: create external table tbl_ice_mixed(a int, b string) stored
by iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_mixed
@@ -332,7 +332,7 @@ PREHOOK: query: create external table
tbl_ice_mixed_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_mixed_all_types
@@ -348,7 +348,7 @@ POSTHOOK: query: create external table
tbl_ice_mixed_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_mixed_all_types
@@ -775,7 +775,7 @@ PREHOOK: query: create external table tbl_ice_mixed_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
#### A masked pattern was here ####
PREHOOK: Output: database:default
@@ -785,7 +785,7 @@ POSTHOOK: query: create external table tbl_ice_mixed_parted
(
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
#### A masked pattern was here ####
POSTHOOK: Output: database:default
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_multitable.q.out
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_multitable.q.out
index 7728fb532cc..0e719acd405 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_multitable.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_multitable.q.out
@@ -17,12 +17,10 @@ POSTHOOK: Output: default@lineitem
POSTHOOK: Lineage: lineitem.l_discount SCRIPT []
POSTHOOK: Lineage: lineitem.l_orderkey SCRIPT []
PREHOOK: query: create external table customer_ice(c_custkey int) STORED BY
ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@customer_ice
POSTHOOK: query: create external table customer_ice(c_custkey int) STORED BY
ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@customer_ice
@@ -70,12 +68,10 @@ POSTHOOK: Input: default@orders
#### A masked pattern was here ####
-99.20
PREHOOK: query: create external table lineitem_ice(l_discount decimal(15,2),
l_orderkey int) STORED BY ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@lineitem_ice
POSTHOOK: query: create external table lineitem_ice(l_discount decimal(15,2),
l_orderkey int) STORED BY ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@lineitem_ice
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_orc.q.out
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_orc.q.out
index e2669a45789..ef0581f005e 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_orc.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_orc.q.out
@@ -5,12 +5,12 @@ POSTHOOK: query: drop table if exists tbl_ice_orc
POSTHOOK: type: DROPTABLE
POSTHOOK: Output: database:default
PREHOOK: query: create external table tbl_ice_orc(a int, b string) stored by
iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_orc
POSTHOOK: query: create external table tbl_ice_orc(a int, b string) stored by
iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_orc
@@ -218,7 +218,7 @@ PREHOOK: query: create external table tbl_ice_orc_all_types
(
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_orc_all_types
@@ -234,7 +234,7 @@ POSTHOOK: query: create external table
tbl_ice_orc_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_orc_all_types
@@ -435,7 +435,7 @@ PREHOOK: query: create external table tbl_ice_orc_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
#### A masked pattern was here ####
PREHOOK: Output: database:default
@@ -445,7 +445,7 @@ POSTHOOK: query: create external table tbl_ice_orc_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
#### A masked pattern was here ####
POSTHOOK: Output: database:default
@@ -853,7 +853,7 @@ PREHOOK: query: create external table tbl_ice_orc_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_orc_complex
@@ -871,7 +871,7 @@ POSTHOOK: query: create external table tbl_ice_orc_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_orc_complex
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_parquet.q.out
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_parquet.q.out
index 0b66a1287bc..7e9983b34fc 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_parquet.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/llap/vectorized_iceberg_read_parquet.q.out
@@ -5,12 +5,12 @@ POSTHOOK: query: drop table if exists tbl_ice_parquet
POSTHOOK: type: DROPTABLE
POSTHOOK: Output: database:default
PREHOOK: query: create external table tbl_ice_parquet(a int, b string) stored
by iceberg stored as parquet
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_parquet
POSTHOOK: query: create external table tbl_ice_parquet(a int, b string) stored
by iceberg stored as parquet
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_parquet
@@ -218,7 +218,7 @@ PREHOOK: query: create external table
tbl_ice_parquet_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_parquet_all_types
@@ -234,7 +234,7 @@ POSTHOOK: query: create external table
tbl_ice_parquet_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_parquet_all_types
@@ -435,7 +435,7 @@ PREHOOK: query: create external table
tbl_ice_parquet_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
#### A masked pattern was here ####
PREHOOK: Output: database:default
@@ -445,7 +445,7 @@ POSTHOOK: query: create external table
tbl_ice_parquet_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
#### A masked pattern was here ####
POSTHOOK: Output: database:default
@@ -659,7 +659,7 @@ PREHOOK: query: create external table
tbl_ice_parquet_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_parquet_complex
@@ -677,7 +677,7 @@ POSTHOOK: query: create external table
tbl_ice_parquet_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_parquet_complex
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_merge_mixed.q.out
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_merge_mixed.q.out
index fd79d6b888e..c4c9a0ace26 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_merge_mixed.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_merge_mixed.q.out
@@ -338,7 +338,7 @@ STAGE PLANS:
Statistics: Num rows: 5 Data size: #Masked# Basic stats:
COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
- vectorizationSchemaColumns: [0:ss_sold_date_sk:int,
1:ss_sold_time_sk:int, 2:ss_item_sk2:int, 3:ss_customer_sk2:int,
4:ss_cdemo_sk:int, 5:ss_hdemo_sk:int, 6:ss_addr_sk:int, 7:ss_store_sk:int,
8:ss_promo_sk:int, 9:ss_ticket_number:int, 10:ss_quantity:int,
11:ss_wholesale_cost:decimal(7,2), 12:ss_list_price:decimal(7,2),
13:ss_sales_price:decimal(7,2), 14:ss_ext_discount_amt:decimal(7,2),
15:ss_ext_sales_price:decimal(7,2), 16:ss_ext_wholesale_cost:decimal(7,2),
17:ss [...]
+ vectorizationSchemaColumns: [0:ss_sold_date_sk:int,
1:ss_sold_time_sk:int, 2:ss_item_sk2:int, 3:ss_customer_sk2:int,
4:ss_cdemo_sk:int, 5:ss_hdemo_sk:int, 6:ss_addr_sk:int, 7:ss_store_sk:int,
8:ss_promo_sk:int, 9:ss_ticket_number:int, 10:ss_quantity:int,
11:ss_wholesale_cost:decimal(7,2)/DECIMAL_64,
12:ss_list_price:decimal(7,2)/DECIMAL_64,
13:ss_sales_price:decimal(7,2)/DECIMAL_64,
14:ss_ext_discount_amt:decimal(7,2)/DECIMAL_64,
15:ss_ext_sales_price:decimal(7,2)/D [...]
Select Operator
expressions: ss_sold_time_sk (type: int), ss_item_sk2
(type: int), ss_customer_sk2 (type: int), ss_cdemo_sk (type: int), ss_hdemo_sk
(type: int), ss_addr_sk (type: int), ss_store_sk (type: int), ss_promo_sk
(type: int), ss_ticket_number (type: int), ss_quantity (type: int),
ss_wholesale_cost (type: decimal(7,2)), ss_list_price (type: decimal(7,2)),
ss_sales_price (type: decimal(7,2)), ss_ext_discount_amt (type: decimal(7,2)),
ss_ext_sales_price (type: decimal(7,2)), s [...]
outputColumnNames: _col0, _col1, _col2, _col3, _col4,
_col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14,
_col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23
@@ -346,7 +346,7 @@ STAGE PLANS:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 32, 33]
- selectExpressions: LongColumnBetween(col 31:bigint,
left 1000, right 2000)(children: LongColMultiplyLongScalar(col 30:bigint, val
1000)(children: FuncFloorDoubleToLong(col 29:double)(children:
DoubleColDivideDoubleScalar(col 28:double, val 1000.0)(children:
CastLongToDouble(col 2:int) -> 28:double) -> 29:double) -> 30:bigint) ->
31:bigint) -> 32:boolean, DecimalColLessDecimalScalar(col 14:decimal(7,2), val
0) -> 33:boolean
+ selectExpressions: LongColumnBetween(col 31:bigint,
left 1000, right 2000)(children: LongColMultiplyLongScalar(col 30:bigint, val
1000)(children: FuncFloorDoubleToLong(col 29:double)(children:
DoubleColDivideDoubleScalar(col 28:double, val 1000.0)(children:
CastLongToDouble(col 2:int) -> 28:double) -> 29:double) -> 30:bigint) ->
31:bigint) -> 32:boolean, Decimal64ColLessDecimal64Scalar(col
14:decimal(7,2)/DECIMAL_64, decimal64Val 0, decimalVal 0) -> 33:boolean
Statistics: Num rows: 5 Data size: #Masked# Basic stats:
COMPLETE Column stats: COMPLETE
Map Join Operator
condition map:
@@ -385,7 +385,7 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children:
FilterLongColEqualLongColumn(col 40:int, col 2:int),
FilterLongColEqualLongColumn(col 41:int, col 3:int),
FilterLongColEqualLongScalar(col 38:int, val 2451181),
FilterLongColumnBetween(col 31:bigint, left 1000, right 2000)(children:
LongColMultiplyLongScalar(col 30:bigint, val 1000)(children:
FuncFloorDoubleToLong(col 28:double)(children: LongColDivideLongScalar(col
2:int, val 1000) -> 28:double) -> 30:bigint) [...]
+ predicateExpression: FilterExprAndExpr(children:
FilterLongColEqualLongColumn(col 40:int, col 2:int),
FilterLongColEqualLongColumn(col 41:int, col 3:int),
FilterLongColEqualLongScalar(col 38:int, val 2451181),
FilterLongColumnBetween(col 31:bigint, left 1000, right 2000)(children:
LongColMultiplyLongScalar(col 30:bigint, val 1000)(children:
FuncFloorDoubleToLong(col 28:double)(children: LongColDivideLongScalar(col
2:int, val 1000) -> 28:double) -> 30:bigint) [...]
predicate: ((_col23 = _col33) and (_col46 = _col36)
and (_col35 = 2451181) and (floor((_col33 / 1000)) * 1000) BETWEEN 1000 AND
2000 and (_col29 < 0) and _col32 is null) (type: boolean)
Statistics: Num rows: 1 Data size: #Masked# Basic
stats: COMPLETE Column stats: PARTIAL
Select Operator
@@ -412,7 +412,7 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children:
FilterLongColEqualLongColumn(col 40:int, col 2:int),
FilterLongColEqualLongColumn(col 41:int, col 3:int),
FilterLongColEqualLongScalar(col 38:int, val 2451181),
FilterLongColumnBetween(col 31:bigint, left 1000, right 2000)(children:
LongColMultiplyLongScalar(col 30:bigint, val 1000)(children:
FuncFloorDoubleToLong(col 28:double)(children: LongColDivideLongScalar(col
2:int, val 1000) -> 28:double) -> 30:bigint) [...]
+ predicateExpression: FilterExprAndExpr(children:
FilterLongColEqualLongColumn(col 40:int, col 2:int),
FilterLongColEqualLongColumn(col 41:int, col 3:int),
FilterLongColEqualLongScalar(col 38:int, val 2451181),
FilterLongColumnBetween(col 31:bigint, left 1000, right 2000)(children:
LongColMultiplyLongScalar(col 30:bigint, val 1000)(children:
FuncFloorDoubleToLong(col 28:double)(children: LongColDivideLongScalar(col
2:int, val 1000) -> 28:double) -> 30:bigint) [...]
predicate: ((_col23 = _col33) and (_col46 = _col36)
and (_col35 = 2451181) and (floor((_col33 / 1000)) * 1000) BETWEEN 1000 AND
2000 and (_col29 < 0) and _col32 is null) (type: boolean)
Statistics: Num rows: 1 Data size: #Masked# Basic
stats: COMPLETE Column stats: PARTIAL
Select Operator
@@ -466,7 +466,7 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children:
FilterLongColEqualLongColumn(col 40:int, col 2:int),
FilterLongColEqualLongColumn(col 41:int, col 3:int),
FilterLongColEqualLongScalar(col 38:int, val 2451181),
FilterLongColumnBetween(col 31:bigint, left 1000, right 2000)(children:
LongColMultiplyLongScalar(col 30:bigint, val 1000)(children:
FuncFloorDoubleToLong(col 28:double)(children: LongColDivideLongScalar(col
2:int, val 1000) -> 28:double) -> 30:bigint) [...]
+ predicateExpression: FilterExprAndExpr(children:
FilterLongColEqualLongColumn(col 40:int, col 2:int),
FilterLongColEqualLongColumn(col 41:int, col 3:int),
FilterLongColEqualLongScalar(col 38:int, val 2451181),
FilterLongColumnBetween(col 31:bigint, left 1000, right 2000)(children:
LongColMultiplyLongScalar(col 30:bigint, val 1000)(children:
FuncFloorDoubleToLong(col 28:double)(children: LongColDivideLongScalar(col
2:int, val 1000) -> 28:double) -> 30:bigint) [...]
predicate: ((_col23 = _col33) and (_col46 = _col36)
and (_col35 = 2451181) and (floor((_col33 / 1000)) * 1000) BETWEEN 1000 AND
2000 and (_col29 < 0)) (type: boolean)
Statistics: Num rows: 1 Data size: #Masked# Basic
stats: COMPLETE Column stats: PARTIAL
Select Operator
@@ -509,8 +509,8 @@ STAGE PLANS:
Map Vectorization:
enabled: true
enabledConditionsMet:
hive.vectorized.use.vectorized.input.format IS true
- inputFormatFeatureSupport: []
- featureSupportInUse: []
+ inputFormatFeatureSupport: [DECIMAL_64]
+ featureSupportInUse: [DECIMAL_64]
inputFileFormats:
org.apache.iceberg.mr.hive.HiveIcebergInputFormat
allNative: false
usesVectorUDFAdaptor: false
@@ -518,7 +518,7 @@ STAGE PLANS:
rowBatchContext:
dataColumnCount: 23
includeColumns: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
- dataColumns: ss_sold_date_sk:int, ss_sold_time_sk:int,
ss_item_sk2:int, ss_customer_sk2:int, ss_cdemo_sk:int, ss_hdemo_sk:int,
ss_addr_sk:int, ss_store_sk:int, ss_promo_sk:int, ss_ticket_number:int,
ss_quantity:int, ss_wholesale_cost:decimal(7,2), ss_list_price:decimal(7,2),
ss_sales_price:decimal(7,2), ss_ext_discount_amt:decimal(7,2),
ss_ext_sales_price:decimal(7,2), ss_ext_wholesale_cost:decimal(7,2),
ss_ext_list_price:decimal(7,2), ss_ext_tax:decimal(7,2), ss_coup [...]
+ dataColumns: ss_sold_date_sk:int, ss_sold_time_sk:int,
ss_item_sk2:int, ss_customer_sk2:int, ss_cdemo_sk:int, ss_hdemo_sk:int,
ss_addr_sk:int, ss_store_sk:int, ss_promo_sk:int, ss_ticket_number:int,
ss_quantity:int, ss_wholesale_cost:decimal(7,2)/DECIMAL_64,
ss_list_price:decimal(7,2)/DECIMAL_64, ss_sales_price:decimal(7,2)/DECIMAL_64,
ss_ext_discount_amt:decimal(7,2)/DECIMAL_64,
ss_ext_sales_price:decimal(7,2)/DECIMAL_64,
ss_ext_wholesale_cost:decimal(7,2)/DECIMAL_64 [...]
partitionColumnCount: 0
scratchColumnTypeNames: [double, double, bigint, bigint,
bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint,
bigint, bigint, bigint, bigint, bigint, bigint, bigint, decimal(7,2),
decimal(7,2), decimal(7,2), decimal(7,2), decimal(7,2), decimal(7,2),
decimal(7,2), decimal(7,2), decimal(7,2), decimal(7,2), decimal(7,2),
decimal(7,2), decimal(7,2), decimal(7,2), bigint]
Map 3
@@ -529,7 +529,7 @@ STAGE PLANS:
Statistics: Num rows: 2 Data size: #Masked# Basic stats:
COMPLETE Column stats: PARTIAL
TableScan Vectorization:
native: true
- vectorizationSchemaColumns: [0:ss_sold_date_sk:int,
1:ss_sold_time_sk:int, 2:ss_item_sk:int, 3:ss_customer_sk:int,
4:ss_cdemo_sk:int, 5:ss_hdemo_sk:int, 6:ss_addr_sk:int, 7:ss_store_sk:int,
8:ss_promo_sk:int, 9:ss_ticket_number:int, 10:ss_quantity:int,
11:ss_wholesale_cost:decimal(7,2), 12:ss_list_price:decimal(7,2),
13:ss_sales_price:decimal(7,2), 14:ss_ext_discount_amt:decimal(7,2),
15:ss_ext_sales_price:decimal(7,2), 16:ss_ext_wholesale_cost:decimal(7,2),
17:ss_e [...]
+ vectorizationSchemaColumns: [0:ss_sold_date_sk:int,
1:ss_sold_time_sk:int, 2:ss_item_sk:int, 3:ss_customer_sk:int,
4:ss_cdemo_sk:int, 5:ss_hdemo_sk:int, 6:ss_addr_sk:int, 7:ss_store_sk:int,
8:ss_promo_sk:int, 9:ss_ticket_number:int, 10:ss_quantity:int,
11:ss_wholesale_cost:decimal(7,2)/DECIMAL_64,
12:ss_list_price:decimal(7,2)/DECIMAL_64,
13:ss_sales_price:decimal(7,2)/DECIMAL_64,
14:ss_ext_discount_amt:decimal(7,2)/DECIMAL_64,
15:ss_ext_sales_price:decimal(7,2)/DEC [...]
Filter Operator
Filter Vectorization:
className: VectorFilterOperator
@@ -564,8 +564,8 @@ STAGE PLANS:
Map Vectorization:
enabled: true
enabledConditionsMet:
hive.vectorized.use.vectorized.input.format IS true
- inputFormatFeatureSupport: []
- featureSupportInUse: []
+ inputFormatFeatureSupport: [DECIMAL_64]
+ featureSupportInUse: [DECIMAL_64]
inputFileFormats:
org.apache.iceberg.mr.hive.HiveIcebergInputFormat
allNative: true
usesVectorUDFAdaptor: false
@@ -573,7 +573,7 @@ STAGE PLANS:
rowBatchContext:
dataColumnCount: 23
includeColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
- dataColumns: ss_sold_date_sk:int, ss_sold_time_sk:int,
ss_item_sk:int, ss_customer_sk:int, ss_cdemo_sk:int, ss_hdemo_sk:int,
ss_addr_sk:int, ss_store_sk:int, ss_promo_sk:int, ss_ticket_number:int,
ss_quantity:int, ss_wholesale_cost:decimal(7,2), ss_list_price:decimal(7,2),
ss_sales_price:decimal(7,2), ss_ext_discount_amt:decimal(7,2),
ss_ext_sales_price:decimal(7,2), ss_ext_wholesale_cost:decimal(7,2),
ss_ext_list_price:decimal(7,2), ss_ext_tax:decimal(7,2), ss_coupon [...]
+ dataColumns: ss_sold_date_sk:int, ss_sold_time_sk:int,
ss_item_sk:int, ss_customer_sk:int, ss_cdemo_sk:int, ss_hdemo_sk:int,
ss_addr_sk:int, ss_store_sk:int, ss_promo_sk:int, ss_ticket_number:int,
ss_quantity:int, ss_wholesale_cost:decimal(7,2)/DECIMAL_64,
ss_list_price:decimal(7,2)/DECIMAL_64, ss_sales_price:decimal(7,2)/DECIMAL_64,
ss_ext_discount_amt:decimal(7,2)/DECIMAL_64,
ss_ext_sales_price:decimal(7,2)/DECIMAL_64,
ss_ext_wholesale_cost:decimal(7,2)/DECIMAL_64, [...]
neededVirtualColumns: #Masked#
partitionColumnCount: 0
scratchColumnTypeNames: [bigint]
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_mixed.q.out
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_mixed.q.out
index f94d7275f65..84237b934ff 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_mixed.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_mixed.q.out
@@ -5,12 +5,12 @@ POSTHOOK: query: drop table if exists tbl_ice_mixed
POSTHOOK: type: DROPTABLE
POSTHOOK: Output: database:default
PREHOOK: query: create external table tbl_ice_mixed(a int, b string) stored by
iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_mixed
POSTHOOK: query: create external table tbl_ice_mixed(a int, b string) stored
by iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_mixed
@@ -293,7 +293,7 @@ PREHOOK: query: create external table
tbl_ice_mixed_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_mixed_all_types
@@ -309,7 +309,7 @@ POSTHOOK: query: create external table
tbl_ice_mixed_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_mixed_all_types
@@ -656,7 +656,7 @@ PREHOOK: query: create external table tbl_ice_mixed_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
#### A masked pattern was here ####
PREHOOK: Output: database:default
@@ -666,7 +666,7 @@ POSTHOOK: query: create external table tbl_ice_mixed_parted
(
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
#### A masked pattern was here ####
POSTHOOK: Output: database:default
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_multitable.q.out
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_multitable.q.out
index fa939bb08ba..6ad2ef9de16 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_multitable.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_multitable.q.out
@@ -17,12 +17,10 @@ POSTHOOK: Output: default@lineitem
POSTHOOK: Lineage: lineitem.l_discount SCRIPT []
POSTHOOK: Lineage: lineitem.l_orderkey SCRIPT []
PREHOOK: query: create external table customer_ice(c_custkey int) STORED BY
ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@customer_ice
POSTHOOK: query: create external table customer_ice(c_custkey int) STORED BY
ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@customer_ice
@@ -70,12 +68,10 @@ POSTHOOK: Input: default@orders
POSTHOOK: Output: hdfs://### HDFS PATH ###
-99.20
PREHOOK: query: create external table lineitem_ice(l_discount decimal(15,2),
l_orderkey int) STORED BY ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@lineitem_ice
POSTHOOK: query: create external table lineitem_ice(l_discount decimal(15,2),
l_orderkey int) STORED BY ICEBERG stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@lineitem_ice
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_orc.q.out
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_orc.q.out
index 734ac8f8f82..ea68994b041 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_orc.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_orc.q.out
@@ -5,12 +5,12 @@ POSTHOOK: query: drop table if exists tbl_ice_orc
POSTHOOK: type: DROPTABLE
POSTHOOK: Output: database:default
PREHOOK: query: create external table tbl_ice_orc(a int, b string) stored by
iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_orc
POSTHOOK: query: create external table tbl_ice_orc(a int, b string) stored by
iceberg stored as orc
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_orc
@@ -180,7 +180,7 @@ PREHOOK: query: create external table tbl_ice_orc_all_types
(
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_orc_all_types
@@ -196,7 +196,7 @@ POSTHOOK: query: create external table
tbl_ice_orc_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_orc_all_types
@@ -357,7 +357,7 @@ PREHOOK: query: create external table tbl_ice_orc_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
#### A masked pattern was here ####
PREHOOK: Output: database:default
@@ -367,7 +367,7 @@ POSTHOOK: query: create external table tbl_ice_orc_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
#### A masked pattern was here ####
POSTHOOK: Output: database:default
@@ -772,7 +772,7 @@ PREHOOK: query: create external table tbl_ice_orc_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_orc_complex
@@ -790,7 +790,7 @@ POSTHOOK: query: create external table tbl_ice_orc_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as orc
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_orc_complex
diff --git
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_parquet.q.out
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_parquet.q.out
index c2a1c1c06d1..4b4d114a151 100644
---
a/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_parquet.q.out
+++
b/iceberg/iceberg-handler/src/test/results/positive/vectorized_iceberg_read_parquet.q.out
@@ -5,12 +5,12 @@ POSTHOOK: query: drop table if exists tbl_ice_parquet
POSTHOOK: type: DROPTABLE
POSTHOOK: Output: database:default
PREHOOK: query: create external table tbl_ice_parquet(a int, b string) stored
by iceberg stored as parquet
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_parquet
POSTHOOK: query: create external table tbl_ice_parquet(a int, b string) stored
by iceberg stored as parquet
-TBLPROPERTIES ('iceberg.decimal64.vectorization'='true',"format-version"='1')
+TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_parquet
@@ -180,7 +180,7 @@ PREHOOK: query: create external table
tbl_ice_parquet_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_parquet_all_types
@@ -196,7 +196,7 @@ POSTHOOK: query: create external table
tbl_ice_parquet_all_types (
t_date DATE,
t_decimal DECIMAL(4,2)
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_parquet_all_types
@@ -357,7 +357,7 @@ PREHOOK: query: create external table
tbl_ice_parquet_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
#### A masked pattern was here ####
PREHOOK: Output: database:default
@@ -367,7 +367,7 @@ POSTHOOK: query: create external table
tbl_ice_parquet_parted (
b string
) partitioned by (p1 string, p2 string)
#### A masked pattern was here ####
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
#### A masked pattern was here ####
POSTHOOK: Output: database:default
@@ -580,7 +580,7 @@ PREHOOK: query: create external table
tbl_ice_parquet_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@tbl_ice_parquet_complex
@@ -598,7 +598,7 @@ POSTHOOK: query: create external table
tbl_ice_parquet_complex (
structofarrays struct<names:array<string>, birthdays:array<string>>,
structofmaps struct<map1:map<string, string>, map2:map<string, string>>
) stored by iceberg stored as parquet
- TBLPROPERTIES
('iceberg.decimal64.vectorization'='true',"format-version"='1')
+ TBLPROPERTIES ("format-version"='1')
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@tbl_ice_parquet_complex
diff --git
a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedDummyColumnReader.java
b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedDummyColumnReader.java
index ee21fd771f9..32b6ee46c7d 100644
---
a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedDummyColumnReader.java
+++
b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedDummyColumnReader.java
@@ -22,8 +22,8 @@
import org.apache.hadoop.hive.common.type.HiveDecimal;
import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.ColumnVector;
-import org.apache.hadoop.hive.ql.exec.vector.DecimalColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector;
+import org.apache.hadoop.hive.ql.exec.vector.IDecimalColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.StructColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.TimestampColumnVector;
@@ -128,7 +128,7 @@ private void fillPrimitive(ColumnVector col,
PrimitiveTypeInfo ti, Object value)
return;
case DECIMAL:
- DecimalColumnVector dcv = (DecimalColumnVector) col;
+ IDecimalColumnVector dcv = (IDecimalColumnVector) col;
dcv.set(0, HiveDecimal.create(value.toString()));
return;