再emapreduce中使用spark访问java.lang.IllegalStateException: Did not find registered driver with class com.mysql.jdbc.Driver-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

再emapreduce中使用spark访问java.lang.IllegalStateException: Did not find registered driver with class com.mysql.jdbc.Driver

2016-04-28 18:29:43 8452 2

16/04/28 16:46:19 WARN scheduler.TaskSetManager: Lost task 0.0 in stage 0.0 (TID 0, emr-worker-1.cluster-18938): java.lang.IllegalStateException: Did not find registered driver with class com.mysql.jdbc.Driver

at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$2$$anonfun$3.apply(JdbcUtils.scala:58)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$2$$anonfun$3.apply(JdbcUtils.scala:58)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$2.apply(JdbcUtils.scala:57)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$createConnectionFactory$2.apply(JdbcUtils.scala:52)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD$$anon$1.<init>(JDBCRDD.scala:347)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD.compute(JDBCRDD.scala:339)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
at org.apache.spark.scheduler.Task.run(Task.scala:89)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
取消 提交回答
全部回答(2)
  • 封神
    2019-07-17 18:49:58
    已采纳

    具体的执行命令为:

    /opt/apps/spark-1.6.1-bin-hadoop2.6/bin/spark-submit --master yarn --deploy-mode client --driver-memory 4g --num-executors 2 --executor-memory 2g --executor-cores 2 --jars mysql-connector-java-5.1.38-bin.jar  --class xx.xxx.test xx-1.0-SNAPSHOT-jar-with-dependencies.jar 
    

    这个问题是spark1.6.1的一个bug,在1.6.0下是可以访问的。
    具体的issue为:https://issues.apache.org/jira/browse/SPARK-14162
    类似的问题在stackoverflow也出现了:http://stackoverflow.com/questions/36326066/working-with-jdbc-jar-in-pyspark

    目前修复的办法
    1、使用1.6.0的版本
    2、等待新的版本修复
    3、按照下面这么写

    df = sqlContext.read.format("jdbc").options(url="jdbc:postgresql://ip_address:port/db_name?user=myuser&password=mypasswd", dbtable="table_name",driver="com.mysql.jdbc.Driver").load()
    df.count()
    2 0
  • nox1234
    2019-07-17 18:49:58

    亲测,mysql-connector 6.0.4不好使。。。换5.1.38好了 。建议大家不要用高版本的,用封神说的版本好使!

    1 0
添加回答
相关问答

5

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 129394浏览量 回答数 5

10

回答

【精品问答合集】Hbase热门问答

hbase小能手 2019-05-29 14:37:26 122946浏览量 回答数 10

37

回答

SaaS模式云数据仓库MaxCompute 百问百答合集(持续更新20220424)

亢海鹏 2020-05-29 15:10:00 81360浏览量 回答数 37

2

回答

Blink计算引擎 【精品问答集锦】

管理贝贝 2016-07-21 17:03:19 29310浏览量 回答数 2

20

回答

【阿里云产品公测】简单日志服务SLS使用评测含教程

mr_wid 2014-10-09 07:18:30 42073浏览量 回答数 20

9

回答

问几个小白问:服务器重置?数据恢复?及其他?

ap6681c6b 2012-08-15 20:47:42 38645浏览量 回答数 9

5

回答

java.lang.UnsupportedOperationException: This is supposed to be overridden by subclasses.

迷茫君 2019-07-16 09:26:11 120284浏览量 回答数 5

18

回答

MaxCompute百问集锦(持续更新20171011)

隐林 2017-06-30 18:30:36 52945浏览量 回答数 18

1

回答

【开源分享】-6期- Linkis 一款支持多种计算存储引擎的企业级计算中间件

montos 2020-05-08 10:55:23 29305浏览量 回答数 1

11

回答

速戳 | 20位阿里出题专家-备战阿里必不可少的题目

Runt 2020-04-15 10:54:04 61006浏览量 回答数 11
+关注
0
文章
1
问答
问答排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载