zoukankan      html  css  js  c++  java
  • spark读mysql数据

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

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

    http://www.thebigdata.cn/QiTa/15471.html

    http://www.iteblog.com/archives/1560

    官方文档中 http://spark.apache.org/docs/1.4.1/sql-programming-guide.html

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

    from pyspark import SparkContext
    from pyspark.sql import SQLContext,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 import SparkContext
    from pyspark.sql import SQLContext,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密码。

  • 相关阅读:
    HTML_常用标签
    介绍Html_前端
    Mysql(2)数据类型与约束
    Mysql命令
    python_高级进阶(5)协程_事件
    python_高级进阶(4)同步_异步_回调函数_阻塞
    数据类型的补充以及各类型之间的相互转换
    二次编码
    坑坑坑坑坑坑----列表
    字典
  • 原文地址:https://www.cnblogs.com/mylocal/p/5282897.html
Copyright © 2011-2022 走看看