You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "Udit Mehrotra (Jira)" <ji...@apache.org> on 2020/08/10 22:49:00 UTC

[jira] [Created] (HUDI-1174) Hudi changes for bootstrapped tables integration with Presto

Udit Mehrotra created HUDI-1174:
-----------------------------------

             Summary: Hudi changes for bootstrapped tables integration with Presto
                 Key: HUDI-1174
                 URL: https://issues.apache.org/jira/browse/HUDI-1174
             Project: Apache Hudi
          Issue Type: Sub-task
          Components: bootstrap
            Reporter: Udit Mehrotra
            Assignee: Udit Mehrotra
             Fix For: 0.6.0


Hudi changes for bootstrapped tables integration with Presto.
 * Annotation *UseRecordReaderFromInputFormat* is required on *HoodieParquetInputFormat* as well, because the reading for bootstrapped tables needs to happen through record reader to be able to perform the merge. On presto side, this annotation is already handled.
 * We need to internally maintain *VIRTUAL_COLUMN_NAMES* because presto's internal hive version *hive-apache-1.2.2* has *VirutalColumn* as a *class*, versus the one we depend on in hudi which is an *enum*. This results in following error in presto:

 
{noformat}
2020-08-10T21:59:58.957Z ERROR remote-task-callback-2 com.facebook.presto.execution.StageExecutionStateMachine Stage execution 20200810_215953_00006_34kqg.1.0 failed
java.lang.NoSuchFieldError: VIRTUAL_COLUMN_NAMES
 at org.apache.hudi.hadoop.HoodieParquetInputFormat.lambda$getRecordReader$2(HoodieParquetInputFormat.java:201)
 at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
 at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
 at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
 at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
 at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
 at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
 at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
 at org.apache.hudi.hadoop.HoodieParquetInputFormat.getRecordReader(HoodieParquetInputFormat.java:203)
 at com.facebook.presto.hive.HiveUtil.createRecordReader(HiveUtil.java:253)
 at com.facebook.presto.hive.GenericHiveRecordCursorProvider.lambda$createRecordCursor$0(GenericHiveRecordCursorProvider.java:74)
 at com.facebook.presto.hive.authentication.UserGroupInformationUtils.lambda$executeActionInDoAs$0(UserGroupInformationUtils.java:29)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.Subject.doAs(Subject.java:360)
 at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1824)
 at com.facebook.presto.hive.authentication.UserGroupInformationUtils.executeActionInDoAs(UserGroupInformationUtils.java:27)
 at com.facebook.presto.hive.authentication.ImpersonatingHdfsAuthentication.doAs(ImpersonatingHdfsAuthentication.java:39)
 at com.facebook.presto.hive.HdfsEnvironment.doAs(HdfsEnvironment.java:82)
 at com.facebook.presto.hive.GenericHiveRecordCursorProvider.createRecordCursor(GenericHiveRecordCursorProvider.java:73)
 at com.facebook.presto.hive.HivePageSourceProvider.createHivePageSource(HivePageSourceProvider.java:374)
 at com.facebook.presto.hive.HivePageSourceProvider.createPageSource(HivePageSourceProvider.java:137)
 at com.facebook.presto.hive.HivePageSourceProvider.createPageSource(HivePageSourceProvider.java:113)
 at com.facebook.presto.spi.connector.classloader.ClassLoaderSafeConnectorPageSourceProvider.createPageSource(ClassLoaderSafeConnectorPageSourceProvider.java:52)
{noformat}
 
 * Dependency changes in *hudi-presto-bundle* to avoid runtime exceptions.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)