2016-06-09 103 views
4

我正在寻找支持Spark SQL的客户端jdbc驱动程序。我已经使用Jupyter到Spark上运行SQL语句(在HDInsight上运行),我希望能够使用JDBC进行连接,因此我可以使用第三方SQL客户端(例如SQuirreL,SQL Explorer,等等)而不是笔记本接口。是否有Spark SQL jdbc驱动程序?

我发现了一个来自Microsoft的ODBC驱动程序,但这对基于Java的SQL客户端没有帮助。我也尝试从我的群集下载Hive jdbc驱动程序,但Hive JDBC驱动程序似乎不支持Spark所提供的更多高级SQL功能。例如,Hive驱动程序抱怨说不支持不是equajoins的join语句,我知道这是Spark支持的功能,因为我成功地在Jupyter中执行了相同的SQL。

+0

问题寻求建议或帮助找到一个图书馆或其他非现场资源是脱离主题。 –

+0

http://www.simba.com/drivers/spark-jdbc-odbc/ Simba的Apache Spark ODBC和JDBC驱动程序通过将应用程序的SQL查询转换为Spark SQL中的等效形式,将SQL有效地映射到Spark SQL,从而实现直接标准SQL -92访问Apache Spark分发。 – kliew

+0

我会尝试配置单元的jdbc驱动程序与它交谈。 – lockwobr

回答

0

蜂房JDBC驱动程序似乎并不支持更先进的SQL功能的火花呢

不管它提供的支持,星火节俭服务器是fully compatible with Hive/Beeline's JDBC connection

因此,这是您需要使用的JAR。我已经在DBVisualizer中验证了这一点。

另一种解决方案是直接在Java客户端(非第三方工具)中运行Spark代码并跳过对JDBC连接的需求。

+0

如何在Java客户端中运行Spark代码?如何提交查询? – user1870400

+0

您只需编译并运行它...随意在评论之外发布自己的问题以获得更多深入解答 –

+0

我不确定如何在不通过spark-submit的情况下编译和运行? Spark-submit有它自己的类加载器,它不是默认的Java类加载器。 – user1870400