【发布时间】:2016-10-16 15:43:59
【问题描述】:
我正在使用 Spark 连接到本地 mysql 实例。
我有一个要传入的 mysql jdbc jar:
pyspark --jars /path/to/jar
我创建了我的 SQLContext 等。然后我开始做连接工作,一个版本抛出错误,而另一个版本没有。
SQLContext.read.jdbc(url="jdbc:mysql://localhost:3306?user=root", table="spark.words")
这会引发未找到驱动程序的错误。
SQLContext.read.format("jdbc").option("url","jdbc:mysql://localhost:3306?user=root").option("dbtable","spark.words").option("driver", 'com.mysql.jdbc.Driver').load()
这按预期工作。
我认为两者大致相同,前者是后者的一种方便方法。有什么区别,为什么SQLContext.read.jdbc版本会报错?
【问题讨论】:
-
方法应该大致相同,但这些调用不是。在第一种情况下,您没有提供
driver参数。 -
谢谢你,但spark.apache.org/docs/1.6.1/api/python/… 我真的不知道是否可以提供该参数。当我尝试包含
driver="..."时,它会抛出一个错误,说“驱动程序”是一个未知键
标签: mysql jdbc apache-spark apache-spark-sql