【问题标题】:Connector NoSuchMethodError with complex query具有复杂查询的连接器 NoSuchMethodError
【发布时间】:2021-12-09 14:54:54
【问题描述】:

NoSuchMethodError 使用 Simba 连接器,以下查询给出了以下错误。该查询在 Web 控制台工具 thingie 中运行良好。所有的 jar 文件似乎都在那里。我将 JDBC 驱动程序版本更新到最新版本并得到相同的错误。我打开了日志记录,它看起来已经准备好在崩溃之前将结果返回给我。

SELECT *field list* FROM *table* bu LEFT OUTER JOIN *table* a on bu.field1
 = a.field1 AND bu.field2 = a.field2 LEFT OUTER JOIN (SELECT DISTINCT field1, *field list* FROM *table*) AS av on bu.field1 = CAST(av.field1 AS string) WHERE a.field3="Physical";
java.lang.NoSuchMethodError: 'org.apache.avro.LogicalType org.apache.avro.Schema.getLogicalType()'
    at com.simba.googlebigquery.googlebigquery.dataengine.BQHTParser.avroStructToString(Unknown Source)
    at com.simba.googlebigquery.googlebigquery.dataengine.BQHTParser.avroToString(Unknown Source)
    at com.simba.googlebigquery.googlebigquery.dataengine.BQHTParser.avroArrayToString(Unknown Source)
    at com.simba.googlebigquery.googlebigquery.dataengine.BQHTParser.avroToString(Unknown Source)
    at com.simba.googlebigquery.googlebigquery.dataengine.BQHTParser.avroStructToString(Unknown Source)
    at com.simba.googlebigquery.googlebigquery.dataengine.BQHTParser.avroToString(Unknown Source)
    at com.simba.googlebigquery.googlebigquery.dataengine.BQHTDataHandler.retrieveData(Unknown Source)
    at com.simba.googlebigquery.googlebigquery.dataengine.BQResultSet.getData(Unknown Source)
    at com.simba.googlebigquery.jdbc.common.SForwardResultSet.getData(Unknown Source)
    at com.simba.googlebigquery.jdbc.common.SForwardResultSet.getString(Unknown Source)
    at com.service_now.monitor.jdbc.JDBCRowSet.next(JDBCRowSet.java:186)
    at com.service_now.monitor.jdbc.JDBCMultiRowSet.next(JDBCMultiRowSet.java:19)
    at com.service_now.mid.probe.JDBCProbe.doSelect(JDBCProbe.java:335)
    at com.service_now.mid.probe.JDBCProbe.doQuery(JDBCProbe.java:199)
    at com.service_now.mid.probe.JDBCProbe.probe(JDBCProbe.java:126)
    at com.service_now.mid.probe.AProbe.process(AProbe.java:102)
    at com.service_now.mid.queue_worker.AWorker.runWorker(AWorker.java:122)
    at com.service_now.mid.queue_worker.AWorkerThread.run(AWorkerThread.java:20)
    at com.service_now.mid.threadpool.ResourceUserQueue$RunnableProxy.run(ResourceUserQueue.java:649)
    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)

【问题讨论】:

  • 如果有帮助,我相信我们正在使用 SimbaJDBCDriverforGoogleBigQuery42_1.2.21.1025

标签: sql google-bigquery


【解决方案1】:

所以看起来问题是由于我没有限制或提供 LargeResultDataset 和 LargeResultTable 参数这一事实引起的。我希望有人觉得这很有用,因为这是一个非常具有误导性的错误,没有人记录在案。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 2014-01-13
  • 2011-10-21
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多