[ https://issues.apache.org/jira/browse/HIVE-27213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
KIRTI RUGE reassigned HIVE-27213: --------------------------------- Assignee: KIRTI RUGE > parquet logical decimal type to INT32 is not working while compute statastics > ----------------------------------------------------------------------------- > > Key: HIVE-27213 > URL: https://issues.apache.org/jira/browse/HIVE-27213 > Project: Hive > Issue Type: Improvement > Reporter: KIRTI RUGE > Assignee: KIRTI RUGE > Priority: Major > Attachments: test.parquet > > > [^test.parquet] > Steps to reproduce: > dfs ${system:test.dfs.mkdir} hdfs:///tmp/dwxtest/ws_sold_date_sk=2451825; > dfs -copyFromLocal ../../data/files/dwxtest.parquet > hdfs:///tmp/dwxtest/ws_sold_date_sk=2451825; > dfs -ls hdfs:///tmp/dwxtest/ws_sold_date_sk=2451825/; > CREATE EXTERNAL TABLE `web_sales`( > `ws_sold_time_sk` int, > `ws_ship_date_sk` int, > `ws_item_sk` int, > `ws_bill_customer_sk` int, > `ws_bill_cdemo_sk` int, > `ws_bill_hdemo_sk` int, > `ws_bill_addr_sk` int, > `ws_ship_customer_sk` int, > `ws_ship_cdemo_sk` int, > `ws_ship_hdemo_sk` int, > `ws_ship_addr_sk` int, > `ws_web_page_sk` int, > `ws_web_site_sk` int, > `ws_ship_mode_sk` int, > `ws_warehouse_sk` int, > `ws_promo_sk` int, > `ws_order_number` bigint, > `ws_quantity` int, > `ws_wholesale_cost` decimal(7,2), > `ws_list_price` decimal(7,2), > `ws_sales_price` decimal(7,2), > `ws_ext_discount_amt` decimal(7,2), > `ws_ext_sales_price` decimal(7,2), > `ws_ext_wholesale_cost` decimal(7,2), > `ws_ext_list_price` decimal(7,2), > `ws_ext_tax` decimal(7,2), > `ws_coupon_amt` decimal(7,2), > `ws_ext_ship_cost` decimal(7,2), > `ws_net_paid` decimal(7,2), > `ws_net_paid_inc_tax` decimal(7,2), > `ws_net_paid_inc_ship` decimal(7,2), > `ws_net_paid_inc_ship_tax` decimal(7,2), > `ws_net_profit` decimal(7,2)) > PARTITIONED BY ( > `ws_sold_date_sk` int) > ROW FORMAT SERDE > 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' > STORED AS PARQUET LOCATION 'hdfs:///tmp/dwxtest/'; > MSCK REPAIR TABLE web_sales; > analyze table web_sales compute statistics for columns; > > Error Stack: > > {noformat} > analyze table web_sales compute statistics for columns; > ], TaskAttempt 3 failed, info=[Error: Error while running task ( failure ) : > attempt_1678779198717_0000_2_00_000052_3:java.lang.RuntimeException: > java.lang.RuntimeException: java.io.IOException: > org.apache.parquet.io.ParquetDecodingException: Can not read value at 0 in > block -1 in file > s3a://nfqe-tpcds-test/spark-tpcds/sf1000-parquet/useDecimal=true,useDate=true,filterNull=false/web_sales/ws_sold_date_sk=2451825/part-00796-788bef86-2748-4e21-a464-b34c7e646c94-cfcafd2c-2abd-4067-8aea-f58cb1021b35.c000.snappy.parquet > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:351) > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:280) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:374) > at > org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:84) > at > org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:70) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at java.base/javax.security.auth.Subject.doAs(Subject.java:423) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1899) > at > org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:70) > at > org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:40) > at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36) > at > org.apache.hadoop.hive.llap.daemon.impl.StatsRecordingThreadPool$WrappedCallable.call(StatsRecordingThreadPool.java:118) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at java.base/java.lang.Thread.run(Thread.java:829) > Caused by: java.lang.RuntimeException: java.io.IOException: > org.apache.parquet.io.ParquetDecodingException: Can not read value at 0 in > block -1 in file > s3a://nfqe-tpcds-test/spark-tpcds/sf1000-parquet/useDecimal=true,useDate=true,filterNull=false/web_sales/ws_sold_date_sk=2451825/part-00796-788bef86-2748-4e21-a464-b34c7e646c94-cfcafd2c-2abd-4067-8aea-f58cb1021b35.c000.snappy.parquet > at > org.apache.hadoop.mapred.split.TezGroupedSplitsInputFormat$TezGroupedSplitsRecordReader.initNextRecordReader(TezGroupedSplitsInputFormat.java:206) > at > org.apache.hadoop.mapred.split.TezGroupedSplitsInputFormat$TezGroupedSplitsRecordReader.<init>(TezGroupedSplitsInputFormat.java:145) > at > org.apache.hadoop.mapred.split.TezGroupedSplitsInputFormat.getRecordReader(TezGroupedSplitsInputFormat.java:111) > at > org.apache.tez.mapreduce.lib.MRReaderMapred.setupOldRecordReader(MRReaderMapred.java:164) > at > org.apache.tez.mapreduce.lib.MRReaderMapred.setSplit(MRReaderMapred.java:83) > at > org.apache.tez.mapreduce.input.MRInput.initFromEventInternal(MRInput.java:704) > at > org.apache.tez.mapreduce.input.MRInput.initFromEvent(MRInput.java:663) > at > org.apache.tez.mapreduce.input.MRInputLegacy.checkAndAwaitRecordReaderInitialization(MRInputLegacy.java:150) > at > org.apache.tez.mapreduce.input.MRInputLegacy.init(MRInputLegacy.java:114) > at > org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.getMRInput(MapRecordProcessor.java:543) > at > org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.init(MapRecordProcessor.java:189) > at > org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:296) > ... 15 more > Caused by: java.io.IOException: > org.apache.parquet.io.ParquetDecodingException: Can not read value at 0 in > block -1 in file > s3a://nfqe-tpcds-test/spark-tpcds/sf1000-parquet/useDecimal=true,useDate=true,filterNull=false/web_sales/ws_sold_date_sk=2451825/part-00796-788bef86-2748-4e21-a464-b34c7e646c94-cfcafd2c-2abd-4067-8aea-f58cb1021b35.c000.snappy.parquet > at > org.apache.hadoop.hive.io.HiveIOExceptionHandlerChain.handleRecordReaderCreationException(HiveIOExceptionHandlerChain.java:97) > at > org.apache.hadoop.hive.io.HiveIOExceptionHandlerUtil.handleRecordReaderCreationException(HiveIOExceptionHandlerUtil.java:57) > at > org.apache.hadoop.hive.ql.io.HiveInputFormat.getRecordReader(HiveInputFormat.java:469) > at > org.apache.hadoop.mapred.split.TezGroupedSplitsInputFormat$TezGroupedSplitsRecordReader.initNextRecordReader(TezGroupedSplitsInputFormat.java:203) > ... 26 more > Caused by: org.apache.parquet.io.ParquetDecodingException: Can not read value > at 0 in block -1 in file > s3a://nfqe-tpcds-test/spark-tpcds/sf1000-parquet/useDecimal=true,useDate=true,filterNull=false/web_sales/ws_sold_date_sk=2451825/part-00796-788bef86-2748-4e21-a464-b34c7e646c94-cfcafd2c-2abd-4067-8aea-f58cb1021b35.c000.snappy.parquet > at > org.apache.parquet.hadoop.InternalParquetRecordReader.nextKeyValue(InternalParquetRecordReader.java:264) > at > org.apache.parquet.hadoop.ParquetRecordReader.nextKeyValue(ParquetRecordReader.java:207) > at > org.apache.hadoop.hive.ql.io.parquet.read.ParquetRecordReaderWrapper.<init>(ParquetRecordReaderWrapper.java:84) > at > org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat.getRecordReader(MapredParquetInputFormat.java:93) > at > org.apache.hadoop.hive.ql.io.RecordReaderWrapper.create(RecordReaderWrapper.java:72) > at > org.apache.hadoop.hive.ql.io.HiveInputFormat.getRecordReader(HiveInputFormat.java:460) > ... 27 more > Caused by: java.lang.UnsupportedOperationException: > org.apache.parquet.column.values.dictionary.PlainValuesDictionary$PlainIntegerDictionary > at > org.apache.parquet.column.Dictionary.decodeToBinary(Dictionary.java:41) > at > org.apache.hadoop.hive.ql.io.parquet.convert.ETypeConverter$BinaryConverter.setDictionary(ETypeConverter.java:966) > at > org.apache.parquet.column.impl.ColumnReaderBase.<init>(ColumnReaderBase.java:415) > at > org.apache.parquet.column.impl.ColumnReaderImpl.<init>(ColumnReaderImpl.java:46) > at > org.apache.parquet.column.impl.ColumnReadStoreImpl.getColumnReader(ColumnReadStoreImpl.java:82) > at > org.apache.parquet.io.RecordReaderImplementation.<init>(RecordReaderImplementation.java:271) > at > org.apache.parquet.io.MessageColumnIO$1.visit(MessageColumnIO.java:147) > at > org.apache.parquet.io.MessageColumnIO$1.visit(MessageColumnIO.java:109) > at > org.apache.parquet.filter2.compat.FilterCompat$NoOpFilter.accept(FilterCompat.java:177) > at > org.apache.parquet.io.MessageColumnIO.getRecordReader(MessageColumnIO.java:109) > at > org.apache.parquet.hadoop.InternalParquetRecordReader.checkRead(InternalParquetRecordReader.java:141) > at > org.apache.parquet.hadoop.InternalParquetRecordReader.nextKeyValue(InternalParquetRecordReader.java:230) > ... 32 more > ]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 > killedTasks:195, Vertex vertex_1678779198717_0000_2_00 [Map 1] killed/failed > due to:OWN_TASK_FAILURE]Vertex killed, vertexName=Reducer 2, > vertexId=vertex_1678779198717_0000_2_01, diagnostics=[Vertex received Kill > while in RUNNING state., Vertex did not succeed due to OTHER_VERTEX_FAILURE, > failedTasks:0 killedTasks:1009, Vertex vertex_1678779198717_0000_2_01 > [Reducer 2] killed/failed due to:OTHER_VERTEX_FAILURE]DAG did not succeed due > to VERTEX_FAILURE. failedVertices:1 killedVertices:1 (state=08S01,code=2) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)