pyspark 读mysql数据_spark读mysql数据

这篇博客记录了作者在使用Spark 1.4.1版本时,如何通过Python接口(PySpark)读取MySQL数据库中的数据。文章提到了两种方法,并详细解释了连接URL的构成,以及在遇到‘No suitable driver found’和‘access denied’错误时的解决办法,主要是确保正确放置mysql-connector jar包并检查MySQL的用户名和密码。
摘要由CSDN通过智能技术生成

最近在学习中,需要用spark读取mysql数据,查阅了很多资料大多是java版本的,自己琢磨了半天,研究出python版本的,本人菜鸟,本博客只会记录学习过程,如有不妥请见谅。所用spark版本为1.4.1.

先上自己找到了一些相关资料,仅供参考~~~

有介绍Spark SQL与hive,json等数据的读写。而mysql等一些数据库可通过JDBC来读取。

from pyspark importSparkContextfrom pyspark.sql importSQLContext,Row

sqlContext=SQLContext(sc)

df=sqlContext.read.format('jdbc').options(url="jdbc:mysql://localhost/spider_db?user=spider_user&password=password",dbtable="allpapers").load()

或:

from pyspark importSparkContextfrom pyspark.sql importSQLContext,Row

sqlContext=SQLContext(sc)

df=sqlContext.read.jdbc(url="jdbc:mysql://localhost?user=spider_user&password=password",table="spider_db.allpapers")

url含义:

url=jdbc:mysql://MYSQL_HOST/MYSQL_DBNAME?user=MYSQL_USER&password=MYSQL_PASSWD”,dbtable=”MYSQL_TABLE”

MYSQL_HOST为mysql的地址,本机为localhost,MYSQL_DBNAME为数据库名,MYSQL_USER为用户名,MYSQL_PASSW为登陆密码,MYSQL_TABLE为表名。MYSQL_DBNAME可放入url中,也可放入table中。

所遇到的错误情况有一下两种:

1.java.sql.SQLException: No suitable driver found for ...

解决办法:下载mysql-connector包,将其放到spark下,并指定jar包,即在spark-env.sh中添加

export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/hadoop/spark/lib/mysql-connector-java-5.1.36-bin.jar

2.java.sql.SQLException: access denied for user'spider_user '@'**.**.**.**'(using password :Yes)

解决办法:mysql的密码输入错误,正确书写mysql密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值