【问题标题】:Apache Drill JDBC Plugin Doesnt Recognize ColumnsApache Drill JDBC 插件不识别列
【发布时间】:2018-01-26 05:52:05
【问题描述】:

我正在尝试使用 Apache Drill 查询专有 RDBMS。我已经将该插件创建为 JDBC 数据源并将我的 JDBC jar 放在 jars/3rdparty 目录中,并且我能够成功运行诸如SELECT * FROM mytable 之类的查询。

但是,如果我在查询中使用列名,例如SELECT mycol FROM mytable,Drill 会返回以下错误:Error: VALIDATION ERROR: From line 1, column 8 to line 1, column 9: Column 'mycol' not found in any table。此外,我注意到如果我运行SELECT * FROM INFORMATION_SCHEMA.SCHEMATA,我的架构完全丢失了,所以我有一种预感,Drill 无法从 JDBC 驱动程序中检索我的数据库架构。

我想知道可能导致此问题的 JDBC 驱动程序的哪个方法实施不正确。 JDBC 驱动程序已与 Spark 等其他 3rd 方软件一起使用,没有问题。

【问题讨论】:

  • 您使用的是哪个 RDBMS?

标签: jdbc plugins schema apache-drill


【解决方案1】:

为了对您的表执行查询,您需要在表名称前加上您为存储插件提供的名称。例如,如果您将存储插件命名为 rdbms,您的查询应如下所示:

SELECT * FROM rdbms.mytable

您的附加查询SELECT * FROM INFORMATION_SCHEMA.SCHEMATA 可能由于同样的原因而失败。试试SELECT * FROM rdbms.INFORMATION_SCHEMA.SCHEMATA。并且不要忘记将 rdbms 替换为您为存储插件提供的名称。

【讨论】:

    【解决方案2】:

    我认为我们应该像select * from dfs.<storagePlugin>.tableName这样的钻头查询

    你能检查一次吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 2017-12-08
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      相关资源
      最近更新 更多