mysql - 如何将 Spark DataFrame 与 MySQL 结合使用

标签 mysql jdbc apache-spark

好的,我知道我可以使用 jdbc 连接器通过以下命令创建 DataFrame:

val jdbcDF = sqlContext.load("jdbc", 
Map("url" -> "jdbc:mysql://localhost:3306/video_rcmd?user=root&password=123456",
"dbtable" -> "video"))

但我收到此错误:java.sql.SQLException:找不到适合的驱动程序...

我尝试使用这两个命令将 jdbc jar 添加到 Spark_path 但失败了:

  • spark-shell --jars mysql-connector-java-5.0.8-bin.jar
  • SPARK_CLASSPATH=mysql-connector-java-5.0.8-bin.jar Spark-shell

我的 Spark 版本是 1.3.0,而 Class.forName("com.mysql.jdbc.Driver").newInstance 有效。

最佳答案

这是因为数据框在类路径中找到了Mysql Connector Jar。这可以通过将 jar 添加到 Spark 类路径来解决,如下所示:

编辑/spark/bin/compute-classpath.sh

CLASSPATH="$CLASSPATH:$ASSEMBLY_JAR:yourPathToJar/mysql-connector-java-5.0.8-bin.jar"

保存文件并重新启动 Spark。

关于mysql - 如何将 Spark DataFrame 与 MySQL 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29196457/

相关文章:

android - 为什么我会从此方法中获得重复的记录?

mysql - 无法在 Google 表格中建立与 mySQL 的连接

java - 在 Weblogic 12c 中使用哪个 sybase 驱动程序(版本)?我应该在哪里添加下载的驱动程序?

apache-spark - 如何访问 mapGroupsWithState 中的 stateSnapshot 或在流之间共享 GroupState?

scala - Spark Redis连接器可将数据写入Redis的特定索引

mysql - NodeJs + Angular 2 CRUD JSON 解析问题

mysql - 如何在 DataGrip 中创建或连接到本地主机数据库?

java - Spring JDBC 中的对象映射?

java - 如何使我的java代码能够与许多数据库和许多操作系统一起工作?

python - 使用 Word2VecModel.transform() 在映射函数中不起作用