Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-27441

Iceberg: CTLT with source table as Hive managed table fails with "The table must be stored using an ACID compliant format"

    XMLWordPrintableJSON

Details

    Description

      Iceberg CTLT with source table as Hive managed table fails with "The table must be stored using an ACID compliant format"

      As part of HIVE-26519 the support for creating Iceberg tables using CTLT was added.

       

      CREATE TABLE `tpch`.`lineitem`(`l_orderkey` int,`l_partkey` int,`l_suppkey` int,`l_linenumber` int,`l_quantity` decimal(15,2),`l_extendedprice` decimal(15,2),`l_discount` decimal(15,2),`l_tax` decimal(15,2),`l_returnflag` char(1),`l_linestatus` char(1),`l_shipdate` date,`l_commitdate` date,`l_receiptdate` date,`l_shipinstruct` char(25),`l_shipmode` char(10),`l_comment` string)ROW FORMAT SERDE'org.apache.hadoop.hive.ql.io.orc.OrcSerde'STORED AS INPUTFORMAT'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'LOCATION's3a://qe-s3-bucket-weekly/cc-dwx-97hupz/warehouse/tablespace/managed/hive/tpch.db/lineitem'TBLPROPERTIES ('bucketing_version'='2','transactional'='true','transactional_properties'='default','transient_lastDdlTime'='1686741574')

      Iceberg query

      CREATE TABLE lineitem LIKE tpch.lineitem
      STORED BY ICEBERG;

      Error

      Error while compiling statement: FAILED: Execution Error, return code 40000 from org.apache.hadoop.hive.ql.ddl.DDLTask. MetaException(message:The table must be stored using an ACID compliant format (such as ORC): tpch_ioytc.lineitem) 
      
      
      INFO  : Compiling command(queryId=hive_20230614191434_298d5e35-3ac9-4b6b-bf4f-132e8b4ad265): create table line like tpch.lineitem stored by iceberg
      INFO  : Semantic Analysis Completed (retrial = false)
      INFO  : Created Hive schema: Schema(fieldSchemas:null, properties:null)
      INFO  : Completed compiling command(queryId=hive_20230614191434_298d5e35-3ac9-4b6b-bf4f-132e8b4ad265); Time taken: 0.03 seconds
      INFO  : Executing command(queryId=hive_20230614191434_298d5e35-3ac9-4b6b-bf4f-132e8b4ad265): create table line like tpch.lineitem stored by iceberg
      INFO  : Starting task [Stage-0:DDL] in serial mode
      ERROR : Failed
      org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:The table must be stored using an ACID compliant format (such as ORC): tpch_ioytc.line)
      	at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1384) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1389) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.ddl.table.create.like.CreateTableLikeOperation.execute(CreateTableLikeOperation.java:88) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.ddl.DDLTask.execute(DDLTask.java:84) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:213) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:105) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.launchTask(Executor.java:360) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.launchTasks(Executor.java:333) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.runTasks(Executor.java:250) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.execute(Executor.java:111) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:810) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:547) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:541) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:166) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:235) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hive.service.cli.operation.SQLOperation.access$700(SQLOperation.java:92) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:340) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
      	at javax.security.auth.Subject.doAs(Subject.java:423) ~[?:?]
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1899) ~[hadoop-common-3.1.1.7.2.16.0-287.jar:?]
      	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:360) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
      	at java.lang.Thread.run(Thread.java:829) [?:?]
      Caused by: org.apache.hadoop.hive.metastore.api.MetaException: The table must be stored using an ACID compliant format (such as ORC): tpch_ioytc.line
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_req_result$create_table_req_resultStandardScheme.read(ThriftHiveMetastore.java) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_req_result$create_table_req_resultStandardScheme.read(ThriftHiveMetastore.java) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_req_result.read(ThriftHiveMetastore.java) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:88) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_create_table_req(ThriftHiveMetastore.java:2143) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.create_table_req(ThriftHiveMetastore.java:2130) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.create_table(HiveMetaStoreClient.java:4461) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.create_table(SessionHiveMetaStoreClient.java:180) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:1403) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:1373) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:1364) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at jdk.internal.reflect.GeneratedMethodAccessor299.invoke(Unknown Source) ~[?:?]
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
      	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
      	at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:216) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at com.sun.proxy.$Proxy56.createTable(Unknown Source) ~[?:?]
      	at jdk.internal.reflect.GeneratedMethodAccessor299.invoke(Unknown Source) ~[?:?]
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
      	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke(HiveMetaStoreClient.java:4365) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at com.sun.proxy.$Proxy56.createTable(Unknown Source) ~[?:?]
      	at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1373) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	... 27 more
      ERROR : DDLTask failed, DDL Operation: class org.apache.hadoop.hive.ql.ddl.table.create.like.CreateTableLikeOperation
      org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:The table must be stored using an ACID compliant format (such as ORC): tpch_ioytc.line)
      	at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1384) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1389) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.ddl.table.create.like.CreateTableLikeOperation.execute(CreateTableLikeOperation.java:88) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.ddl.DDLTask.execute(DDLTask.java:84) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:213) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:105) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.launchTask(Executor.java:360) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.launchTasks(Executor.java:333) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.runTasks(Executor.java:250) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Executor.execute(Executor.java:111) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:810) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:547) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:541) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:166) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:235) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hive.service.cli.operation.SQLOperation.access$700(SQLOperation.java:92) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:340) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
      	at javax.security.auth.Subject.doAs(Subject.java:423) ~[?:?]
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1899) ~[hadoop-common-3.1.1.7.2.16.0-287.jar:?]
      	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:360) ~[hive-service-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
      	at java.lang.Thread.run(Thread.java:829) [?:?]
      Caused by: org.apache.hadoop.hive.metastore.api.MetaException: The table must be stored using an ACID compliant format (such as ORC): tpch_ioytc.line
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_req_result$create_table_req_resultStandardScheme.read(ThriftHiveMetastore.java) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_req_result$create_table_req_resultStandardScheme.read(ThriftHiveMetastore.java) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$create_table_req_result.read(ThriftHiveMetastore.java) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:88) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_create_table_req(ThriftHiveMetastore.java:2143) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.create_table_req(ThriftHiveMetastore.java:2130) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.create_table(HiveMetaStoreClient.java:4461) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.create_table(SessionHiveMetaStoreClient.java:180) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:1403) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:1373) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:1364) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at jdk.internal.reflect.GeneratedMethodAccessor299.invoke(Unknown Source) ~[?:?]
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
      	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
      	at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:216) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at com.sun.proxy.$Proxy56.createTable(Unknown Source) ~[?:?]
      	at jdk.internal.reflect.GeneratedMethodAccessor299.invoke(Unknown Source) ~[?:?]
      	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
      	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
      	at org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke(HiveMetaStoreClient.java:4365) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	at com.sun.proxy.$Proxy56.createTable(Unknown Source) ~[?:?]
      	at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:1373) ~[hive-exec-3.1.3000.2023.0.15.0-153.jar:3.1.3000.2023.0.15.0-153]
      	... 27 more
      ERROR : FAILED: Execution Error, return code 40000 from org.apache.hadoop.hive.ql.ddl.DDLTask. MetaException(message:The table must be stored using an ACID compliant format (such as ORC): tpch_ioytc.line)
      INFO  : Completed executing command(queryId=hive_20230614191434_298d5e35-3ac9-4b6b-bf4f-132e8b4ad265); Time taken: 0.023 seconds
      INFO  : OK

       

      Attachments

        Issue Links

          Activity

            People

              ayushtkn Ayush Saxena
              dharmikt Dharmik Thakkar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: