Spark JDBC 找不到临时表
Posted
技术标签:
【中文标题】Spark JDBC 找不到临时表【英文标题】:Spark JDBC cannot find temporary tables 【发布时间】:2015-12-07 19:25:06 【问题描述】:我们通过 spark 创建了一个临时表(在内存中)。
当我们sftp到服务器并使用beeline时,我们可以毫无问题地像“select * from Table1”一样查询这个临时表。
但是,当我们在本地机器上使用带有相应驱动程序的 GUI 工具时(连接字符串是 "jdbc:spark://servername:port/default" ),我们就遇到了麻烦。我们可以使用“show tables;”查看临时表Table1;在 GUI 工具中。但是,当我们尝试在工具中使用“select * from Table1”时,报错“[Simba]JSQLEngine The table "Table1" could not be found., SQL state: HY000, Query: select * from Table1. [ SQL 状态=HY000,数据库错误代码=500051]"。请注意,我们正在使用 Simba JDBC 驱动程序的试用版进行测试。
另外,我使用连接字符串“jdbc:hive2://servername:port/default”尝试了来自 cloudra 的 hive-jdbc 驱动程序。这是同一个问题。请帮忙。非常感谢。
【问题讨论】:
您好 Zhazi,如果您更改连接 URL 以启用传递 SparkSQL 而不是 ANSI SQL(将UseNativeQuery=1;
附加到您的连接 URL),您的查询是否按预期工作?
【参考方案1】:
事实证明,某些驱动程序在选择后需要一个“限制”子句。一旦我添加了它,它就会检索数据。
【讨论】:
以上是关于Spark JDBC 找不到临时表的主要内容,如果未能解决你的问题,请参考以下文章