jdbc - 从 JetBrains JDBC 驱动程序执行 Drill 查询时引用错误
问题描述
我在 JetBrans(Rider 2019.2)中有一个自定义数据源驱动程序,它使用 apache-drill-1.17.jar JDBC 驱动程序(官方)。
使用驱动程序会导致此错误:
SELECT * FROM dfs.my_parquets."Test" limit 10;
--
PARSE ERROR: Lexical error at line 1, column 19. Encountered: "`" (96), after : ""
SQL Query: ALTER SESSION SET `exec.query.max_rows`=501
从错误中可以明显看出,Rider 尝试使用反引号标识符执行此隐藏查询:
ALTER SESSION SET `exec.query.max_rows`=501
问题是quoting_identifiers
目标钻头没有设置为`(反引号),而是设置为"(双引号)。
作为连接字符串,我正在使用它:jdbc:drill:drillbit=my-drill-instance;quoting_identifiers='"'
有没有办法告诉驱动程序在隐藏查询中使用双引号?
解决方案
手动显示,该选项应不带引号传递:
jdbc:drill:zk=local;quoting_identifiers=[
jdbc:drill:drillbit=my-drill-instance;quoting_identifiers="
推荐阅读
- python - 什么是在正无穷范围内的非线性激活函数的例子?
- swift - 自包含通用
- pyspark - 使用 pyspark 从数据块中删除红移表
- django - 如何提高多个查询集 django 中的分页性能?
- laravel - 调用 role::create 和 permission::create 时捕获异常
- r - R中Wilcoxon秩和检验中的警告
- javascript - API XML 到 JSON 格式并返回到 XML
- c++ - C++中如何处理指针、数据类型初始化和多指针声明?
- leaflet - 在传单弹出窗口上附加谷歌图表
- python - 列表中 DataFrame 的组合