我正在考虑建立一个JDBC Spark连接,以便从R/python使用。我知道pyspark
和SparkR
都可用,但它们似乎更适合交互式分析,特别是因为它们为用户保留了集群资源。我正在考虑一种更类似于Tableau ODBC Spark连接的东西——一种更轻量级的东西(据我所知),用于支持简单的随机访问。虽然这似乎是可能的,而且有一些文档,但(对我来说)JDBC驱动程序的需求是什么还不清楚。
我应该像使用org.apache.hive.jdbc.HiveDriver一样建立hive连接吗?因为hive和Spark SQL通过节俭似乎紧密相连?我是否应该将我的Hive连接所需的hadoop公共依赖项(使用HiveServer2端口)换成一些特定于spark的依赖项(当使用Hive.server2.frift.http.Port时)?
此外,由于大多数连接功能似乎都利用了Hive,导致Spark SQL被用作查询引擎而不是Hive的关键是什么?
事实证明,我需要使用的URL与ambari中列出的Hive数据库主机URL不匹配。我在一个关于如何连接(具体到我的集群)的示例中找到了正确的URL。如果有合适的URL,我就可以使用HiveDriver建立连接,而不会出现问题。