[ 
https://issues.apache.org/jira/browse/HIVE-30198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denys Kuzmenko updated HIVE-30198:
----------------------------------
    Description: 
An Iceberg v3 table STORED AS ORC with a variant column can be created, but 
every write fails when the data file is
closed:
{code}
java.lang.UnsupportedOperationException: Variant is not supported
  at org.apache.iceberg.orc.OrcMetrics.statsColumns(OrcMetrics.java:377)
  at org.apache.iceberg.orc.OrcMetrics.buildOrcMetrics(OrcMetrics.java:139)
  at org.apache.iceberg.orc.OrcFileAppender.metrics(OrcFileAppender.java:109)
  at org.apache.iceberg.io.DataWriter.close(DataWriter.java:92)
  at 
org.apache.iceberg.mr.hive.writer.HiveIcebergDefaultWriter.close(HiveIcebergDefaultWriter.java:91)
{code}
Cause: Iceberg's OrcMetrics.StatsColumnsVisitor has no variant override, and 
the base OrcSchemaVisitor.variant
throws. Iceberg 1.12 has ORC variant readers and writers 
(GenericOrcWriters.VariantWriter); only the metrics fail.
Iceberg main has the same gap.
Proposal: fix OrcMetrics upstream in Iceberg. Until Hive's Iceberg version has 
the fix, reject a variant column
in an Iceberg ORC table at CREATE/ALTER TABLE with a clear error, instead of 
failing every INSERT.

> Iceberg: writing a VARIANT column to an ORC table fails (OrcMetrics)
> --------------------------------------------------------------------
>
>                 Key: HIVE-30198
>                 URL: https://issues.apache.org/jira/browse/HIVE-30198
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Denys Kuzmenko
>            Priority: Major
>
> An Iceberg v3 table STORED AS ORC with a variant column can be created, but 
> every write fails when the data file is
> closed:
> {code}
> java.lang.UnsupportedOperationException: Variant is not supported
>   at org.apache.iceberg.orc.OrcMetrics.statsColumns(OrcMetrics.java:377)
>   at org.apache.iceberg.orc.OrcMetrics.buildOrcMetrics(OrcMetrics.java:139)
>   at org.apache.iceberg.orc.OrcFileAppender.metrics(OrcFileAppender.java:109)
>   at org.apache.iceberg.io.DataWriter.close(DataWriter.java:92)
>   at 
> org.apache.iceberg.mr.hive.writer.HiveIcebergDefaultWriter.close(HiveIcebergDefaultWriter.java:91)
> {code}
> Cause: Iceberg's OrcMetrics.StatsColumnsVisitor has no variant override, and 
> the base OrcSchemaVisitor.variant
> throws. Iceberg 1.12 has ORC variant readers and writers 
> (GenericOrcWriters.VariantWriter); only the metrics fail.
> Iceberg main has the same gap.
> Proposal: fix OrcMetrics upstream in Iceberg. Until Hive's Iceberg version 
> has the fix, reject a variant column
> in an Iceberg ORC table at CREATE/ALTER TABLE with a clear error, instead of 
> failing every INSERT.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to