Trino throw 'java.lang.NoSuchMethodError: org.apache.phoenix.query.ConnectionQueryServices.getAdmin() exception,
Trino throw 'java.lang.NoSuchMethodError: org.apache.phoenix.query.ConnectionQueryServices.getAdmin() exception,
我尝试使用使用凤凰作为连接器的 Trino 获取一些数据,但出现以下错误
java.lang.NoSuchMethodError: 'org.apache.hadoop.hbase.client.HBaseAdmin org.apache.phoenix.query.ConnectionQueryServices.getAdmin()'
at io.trino.plugin.phoenix.PhoenixClient.getTableProperties(PhoenixClient.java:568)
at io.trino.plugin.phoenix.PhoenixMetadata.getTableMetadata(PhoenixMetadata.java:98)
at io.trino.plugin.phoenix.PhoenixMetadata.getTableMetadata(PhoenixMetadata.java:88)
at io.trino.plugin.jdbc.JdbcMetadata.lambda$listTableColumns(JdbcMetadata.java:371)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at io.trino.plugin.jdbc.JdbcMetadata.listTableColumns(JdbcMetadata.java:371)
at io.trino.plugin.base.classloader.ClassLoaderSafeConnectorMetadata.listTableColumns(ClassLoaderSafeConnectorMetadata.java:272)
at io.trino.metadata.MetadataManager.listTableColumns(MetadataManager.java:607)
at io.trino.metadata.MetadataListing.listTableColumns(MetadataListing.java:135)
at io.trino.connector.informationschema.InformationSchemaPageSource.addColumnsRecords(InformationSchemaPageSource.java:251)
at io.trino.connector.informationschema.InformationSchemaPageSource.buildPages(InformationSchemaPageSource.java:216)
at io.trino.connector.informationschema.InformationSchemaPageSource.getNextPage(InformationSchemaPageSource.java:183)
at io.trino.operator.ScanFilterAndProjectOperator$ConnectorPageSourceToPages.process(ScanFilterAndProjectOperator.java:376)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils$YieldingProcess.process(WorkProcessorUtils.java:181)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils.lambda$processStateMonitor(WorkProcessorUtils.java:200)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.lambda$flatten(WorkProcessorUtils.java:277)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:319)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils.lambda$processStateMonitor(WorkProcessorUtils.java:200)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils.lambda$finishWhen(WorkProcessorUtils.java:215)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorSourceOperatorAdapter.getOutput(WorkProcessorSourceOperatorAdapter.java:149)
at io.trino.operator.Driver.processInternal(Driver.java:387)
at io.trino.operator.Driver.lambda$processFor(Driver.java:291)
at io.trino.operator.Driver.tryWithLock(Driver.java:683)
at io.trino.operator.Driver.processFor(Driver.java:284)
at io.trino.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1076)
at io.trino.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:163)
at io.trino.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:484)
at io.trino.$gen.Trino_352____20210213_131405_2.run(Unknown Source)
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:834)
我使用 HBase 2.3.4、Hadoop 3.2.2 和 Phoenix 5.1.0
我还将正确版本的 Phoenix 客户端复制到 /path/to/trino/plugin 并将其服务器复制到 /path/to/HBase/lib/
我必须提到 trino 可以创建 table 或显示架构的内容,但我不能使用 select
或 describe
查询。
Trino Phoenix 连接器还不支持 Phoenix 5.x。
这个https://github.com/trinodb/trino/issues/1271 which you can track. There is also a PR https://github.com/trinodb/trino/pull/6865有一个问题,你可以自己试试。
我尝试使用使用凤凰作为连接器的 Trino 获取一些数据,但出现以下错误
java.lang.NoSuchMethodError: 'org.apache.hadoop.hbase.client.HBaseAdmin org.apache.phoenix.query.ConnectionQueryServices.getAdmin()'
at io.trino.plugin.phoenix.PhoenixClient.getTableProperties(PhoenixClient.java:568)
at io.trino.plugin.phoenix.PhoenixMetadata.getTableMetadata(PhoenixMetadata.java:98)
at io.trino.plugin.phoenix.PhoenixMetadata.getTableMetadata(PhoenixMetadata.java:88)
at io.trino.plugin.jdbc.JdbcMetadata.lambda$listTableColumns(JdbcMetadata.java:371)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at io.trino.plugin.jdbc.JdbcMetadata.listTableColumns(JdbcMetadata.java:371)
at io.trino.plugin.base.classloader.ClassLoaderSafeConnectorMetadata.listTableColumns(ClassLoaderSafeConnectorMetadata.java:272)
at io.trino.metadata.MetadataManager.listTableColumns(MetadataManager.java:607)
at io.trino.metadata.MetadataListing.listTableColumns(MetadataListing.java:135)
at io.trino.connector.informationschema.InformationSchemaPageSource.addColumnsRecords(InformationSchemaPageSource.java:251)
at io.trino.connector.informationschema.InformationSchemaPageSource.buildPages(InformationSchemaPageSource.java:216)
at io.trino.connector.informationschema.InformationSchemaPageSource.getNextPage(InformationSchemaPageSource.java:183)
at io.trino.operator.ScanFilterAndProjectOperator$ConnectorPageSourceToPages.process(ScanFilterAndProjectOperator.java:376)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils$YieldingProcess.process(WorkProcessorUtils.java:181)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils.lambda$processStateMonitor(WorkProcessorUtils.java:200)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.lambda$flatten(WorkProcessorUtils.java:277)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:319)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.process(WorkProcessorUtils.java:306)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils.lambda$processStateMonitor(WorkProcessorUtils.java:200)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorUtils.getNextState(WorkProcessorUtils.java:221)
at io.trino.operator.WorkProcessorUtils.lambda$finishWhen(WorkProcessorUtils.java:215)
at io.trino.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
at io.trino.operator.WorkProcessorSourceOperatorAdapter.getOutput(WorkProcessorSourceOperatorAdapter.java:149)
at io.trino.operator.Driver.processInternal(Driver.java:387)
at io.trino.operator.Driver.lambda$processFor(Driver.java:291)
at io.trino.operator.Driver.tryWithLock(Driver.java:683)
at io.trino.operator.Driver.processFor(Driver.java:284)
at io.trino.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1076)
at io.trino.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:163)
at io.trino.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:484)
at io.trino.$gen.Trino_352____20210213_131405_2.run(Unknown Source)
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:834)
我使用 HBase 2.3.4、Hadoop 3.2.2 和 Phoenix 5.1.0
我还将正确版本的 Phoenix 客户端复制到 /path/to/trino/plugin 并将其服务器复制到 /path/to/HBase/lib/
我必须提到 trino 可以创建 table 或显示架构的内容,但我不能使用 select
或 describe
查询。
Trino Phoenix 连接器还不支持 Phoenix 5.x。 这个https://github.com/trinodb/trino/issues/1271 which you can track. There is also a PR https://github.com/trinodb/trino/pull/6865有一个问题,你可以自己试试。