最近在学习中,需要用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密码。

pyspark 读mysql数据_spark读mysql数据相关推荐

  1. spark mysql 驱动_spark读取mysql数据库的驱动问题

    连接关系型数据库转换为DF对象. 上传mysql-connector-java-5.1.28-bin.jar包 启动参数方式: bin/spark-shell--master=local[4] --d ...

  2. spark读取hdfs路径下的数据_Spark读取HDFS数据分区参考

    本文以读取 parquet 文件 / parquet hive table 为例: hive metastore 和 parquet 转化的方式通过 spark.sql.hive.convertMet ...

  3. thinkphp 随机取10条数据_spark调优-数据倾斜

    1.数据倾斜发生时的现象 绝大多数task执行得都非常快,但个别task执行极慢.比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时.这种情况 ...

  4. mysql悲观锁会有脏数据吗_一文带你理解脏读,幻读,不可重复读与mysql的锁,事务隔离机制...

    首先说一下数据库事务的四大特性 1 ACID 事务的四大特性是ACID(不是"酸"....) (1) A:原子性(Atomicity) 原子性指的是事务要么完全执行,要么完全不执行 ...

  5. 读dataframe存入mysql_DataFrame数据保存到mysql数据库中

    本篇文章主要基于python3.6与pandas实现以下数据库操作功能: 创建数据库 数据库创建表 数据库批量插入数据 数据库更新数据 数据库配置 class sqlConfig: db_name = ...

  6. spark写mysql优化简书_spark读写mysql、hive、kafka数据demo

    读取hive库数据 pom.xml依赖配置 org.apache.spark spark-core_2.11 2.1.1 org.apache.spark spark-hive_2.11 2.1.1 ...

  7. mysql overwrite数据_Spark SQL和MySQL-SaveMode.Overwrite不插入修改后的数据

    我在 MySQL中有一个带有id和name的测试表,如下所示: +----+-------+ | id | name | +----+-------+ | 1 | Name1 | +----+---- ...

  8. mysql 不让读的锁_MySQL实战45讲阅读笔记-锁

    全局锁 全局锁会对整个数据数据库实例加锁,使用的命令是flush tables with read lock,使用这个命令后其他线程的DML(增删改)语句.DDL(修改.定义表结构)语句和事务提交语句 ...

  9. MySQL数据库如何解决大数据量存储问题

    FROM http://blog.csdn.net/likika2012/article/details/38816037 各位高手您们好,我最近接手公司里一个比较棘手的问题,关于如何利用MySQL存 ...

  10. 关系型数据库 和 非关系型数据对比 以及 MySQL与Oracle对比

    一.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库.     关系模型1970年提出的,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型.     简单来说,关系模型 ...

最新文章

  1. linux驱动模块makefile,linux驱动makefile求解
  2. SQL 注入详解扫盲
  3. vue2.0 -- watch监听
  4. c语言复制后无法运行,刚学C语言,在Linux下写的代码能正常编译,复制到VC下就无法运行...
  5. js 日期控件laydate使用
  6. python做大屏数据可视化_超强大!Python 可视化这款大屏就够了!
  7. sql server (mssqlserver)无法启动,事件查看器提示SQL Server 无法生成 FRunCM 线程
  8. java中操作时间的常用工具类
  9. 游族网络:中诚信国际将公司主体及游族转债列入信用评级观察名单
  10. 操作系统——I/O设备
  11. postgresql使用pg_rman备份恢复
  12. php array walk recursive,php中如何使用array_walk_recursive?
  13. CRT、Windows API、C/C++标准库、 ATL
  14. 浏览器自动打开html怎么办,浏览器自动弹出网页怎么处理?开机自动弹出垃圾网页如何解决?...
  15. ubuntu安装安卓开发环境(android studio)
  16. 运放全波整流电路_万能整流电路:运放+整流二极管
  17. 【Python】使用分隔符拆分字符串
  18. Android车载开发基础学习——蓝牙通信是如何实现的?
  19. LaTex学习教程——插入较复杂的表格(合并、换行以及加标题)
  20. RNA-seq的典型流程(protocol)

热门文章

  1. win7下登录中国银行网银,叫你四步搞定!
  2. 大学物理复习--变化的电磁场
  3. android room数据库embed,Android官方ORM数据库Room技术解决方案 @Embedded内嵌对象
  4. DSP28335 ecap使用
  5. class6--tensorflow:滑动平均
  6. 2018.11.22!今天重温一遍知识点,捋一捋思路
  7. Android 中Fragment之间传递数据
  8. 电脑版微信多开小技巧
  9. 帕斯卡恒等式(二项式相关
  10. Windows 10正式版的历史版本