首先的编辑,我使用亚马逊EMR星火1.5.2和使用Amazon RDS为我的Postgres数据库。二是我在这个世界上的Spark和Hadoop和MapReduce的一个完整的新手。
基本上我的问题是一样的这个家伙: java.sql.SQLException: No suitable driver found when loading DataFrame into Spark SQL
所以数据帧被加载,但是当我尝试对其进行评估(做df.show(),其中df是数据帧)给我错误:
java.sql.SQLException: No suitable driver found for jdbc:postgresql://mypostgres.cvglvlp29krt.eu-west-1.rds.amazonaws.com:5432/mydb
我要指出,我开始火花像这样:
spark-shell --driver-class-path /home/hadoop/postgresql-9.4.1207.jre7.jar
的解决方案提供建议的jar到工人节点,并以某种方式设置他们的类路径,我真的不知道该怎么做。但后来他们说,显然这个问题被固定在星火1.4,我使用的是1.5.2,并且仍然有这个问题,所以这是怎么回事?
编辑:看来我解决了这个问题,但是我还是不太明白为什么这个工程及以上的东西没有,所以我想我的问题是,现在为什么这样做:
spark-shell --driver-class-path /home/hadoop/postgresql-9.4.1207.jre7.jar --conf spark.driver.extraClassPath=/home/hadoop/postgresql-9.4.1207.jre7.jar --jars /home/hadoop/postgresql-9.4.1207.jre7.jar
解决问题?我只是将路径作为参数添加到了它看起来更多的标志中。