首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Zeppelin中将Spark连接到JDBC驱动程序?

如何在Zeppelin中将Spark连接到JDBC驱动程序?
EN

Stack Overflow用户
提问于 2018-08-28 03:40:58
回答 3查看 2.5K关注 0票数 2

我正在尝试使用Zeppelin笔记本中的Spark将数据从SQL服务器拉入Hive表。

我正在尝试运行以下代码:

%pyspark
from pyspark import SparkContext
from pyspark.sql import SparkSession
from pyspark.sql.dataframe import DataFrame
from pyspark.sql.functions import *

spark = SparkSession.builder \
.appName('sample') \
.getOrCreate()

#set url, table, etc.

df = spark.read.format('jdbc') \
.option('url', url) \
.option('driver', 'com.microsoft.sqlserver.jdbc.SQLServerDriver') \
.option('dbtable', table) \
.option('user', user) \
.option('password', password) \
.load()

然而,我总是得到一个异常:

...
Py4JJavaError: An error occurred while calling o81.load.
: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
...

我一整天都在试图弄清楚这一点,我认为我试图设置驱动程序的方式存在问题。我在实例上的/tmp/sqljdbc42.jar下有一个驱动程序。你能解释一下我怎么才能让斯帕克知道这个司机在哪里吗?我尝试了许多不同的方法,包括通过shell和解释器编辑器。

谢谢!

编辑

我还应该注意到,我使用以下命令通过Zeppelin的shell (%sh)将jar加载到我的实例中

curl -o /tmp/sqljdbc42.jar http://central.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/6.4.0.jre8/mssql-jdbc-6.4.0.jre8.jar
pyspark --driver-class-path /tmp/sqljdbc42.jar --jars /tmp/sqljdbc42.jar
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-30 21:43:18

下面是我如何解决这个问题的:

  1. scp驱动程序jar放到集群驱动程序节点
  2. 上,转到齐柏林飞艇解释器并滚动到Spark部分,然后单击编辑。
  3. 将jar的完整路径写入到工件下,例如/home/Hadoop/mssql-jdbc.jar,而不是其他任何内容。
  4. 单击保存。

那你应该做得很好!

票数 2
EN

Stack Overflow用户

发布于 2018-08-28 06:41:26

您可以通过Web UI在解释器设置中添加它,如下所示:

  • 在菜单中单击解释器
  • 在火花解释器
  • 中单击‘编辑’按钮在工件字段
  • 中添加jar的路径,然后只需保存并重新启动解释器。
票数 0
EN

Stack Overflow用户

发布于 2020-12-08 11:44:38

与Tomas类似,您可以在解释器中使用maven添加驱动程序(或任何库):

Click for >在菜单中单击解释器,然后在工件字段中的Spark interpreter

  • Add

jar

  • Add the jar中单击'edit‘按钮

例如,在您的例子中,您可以在工件字段中使用com.microsoft.sqlserver:mssql-jdbc:jar:8.4.1.jre8

当您重新启动解释器时,它将为您下载并添加依赖项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52046004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档