from pyspark import SparkContext
from pyspark.sql import SQLContext if __name__=="__main__":
sc = SparkContext(appName="local")
sqlContext = SQLContext(sc)
df = sqlContext.read.format("jdbc").options(url="jdbc:mysql://localhost:3306/test?user=root&password=root",dbtable="test_customer").load()
df.show()
sc.stop()

如果报错 no suitable driver

需要把连接mysqljdbcjar包拷到spark文件夹里的jars文件夹里。

附:使用SQL查询的代码

from pyspark import SparkContext
from pyspark.sql import SQLContext if __name__=="__main__":
sc = SparkContext(appName="local")
sqlContext = SQLContext(sc)
df = sqlContext.read.format("jdbc").options(url="jdbc:mysql://localhost:3306/test?user=root&password=root",dbtable="test_customer").load()
df.registerTempTable("test1");
ls = sqlContext.sql("select * from test1 where did = 1").collect()
for it in ls:
print("")
sc.stop()

再附,HiveContext的使用及RDD转DataFrame:

from pyspark import SparkContext
from pyspark.sql import HiveContext,SQLContext,Row if __name__=="__main__":
sc = SparkContext(appName="local")
hc = HiveContext(sc) #HiveContext
sqlContext = SQLContext(sc) #SqlContext
datas = ["1 a 28","2 b 29", "3 c 30"]
source = sc.parallelize(datas) #加载数组
splits = source.map(lambda line: line.split(" ")) #map方法返回的RDD格式的数据
rows = splits.map(lambda words: Row(id = words[0], name = words[1], age = words[2]))
structType = hc._inferSchema(rows); #获得StructType
people = sqlContext.createDataFrame(rows, structType) #通过StructType和查询出来的数据转换成DataFrame
people.registerTempTable("people") #注册表
results = hc.sql("select name from people").collect()
#results1 = results.map(lambda row: row.name.upper()).collect()
for result in results:
print("name:"+result.name)
sc.stop()

pyspark连接mysql的更多相关文章

  1. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  2. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  3. Node.js Express连接mysql完整的登陆注册系统(windows)

    windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...

  4. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  5. 使用ABP EntityFramework连接MySQL数据库

    ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用. 关于这个框架的介绍我就不多说,有兴趣的可以参见 ...

  6. jmeter之连接mysql和SQL Server配置

    下载jdbc驱动 在使用jmeter做性能或自动化测试的时候,往往需要直接对数据库施加压力,或者某些参数只能从数据库获取,这时候就必须使用jmeter连接数据库. 1.下载对应的驱动包 mysql驱动 ...

  7. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  8. Hibernate连接mysql数据库的配置

    <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hi ...

  9. C# 3种方法连接MySql

    转   http://wenku.baidu.com/view/d0cf34708e9951e79b8927c7.html C# 连接MYSQL数据库的方法及示例 连接MYSQL数据库的方法及示例 方 ...

随机推荐

  1. Spring Boot从Controller层进行单元测试

    单元测试是程序员对代码的自测,一般公司都会严格要求单元测试,这是对自己代码的负责,也是对代码的敬畏. 一般单元测试都是测试Service层,下面我将演示从Controller层进行单元测试. 无参Co ...

  2. sql server timeout

    SqlConnection.ConnectionTimeout https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sq ...

  3. 【转载】hibernate缓存机制

    一级缓存(session级别) 我们来看看hibernate提供的一级缓存 //此时会发出一条sql,将所有学生全部查询出来,并放到session的一级缓存当中.当再次查询学生信息时,会首先去缓存中看 ...

  4. hdu 2665 Kth number 主席树

    Kth number Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Prob ...

  5. class []的用法

    span[class='test']    =>匹配所有带有class类名test的span标签 span[class *='test']  =>匹配所有包含了test字符串的class类 ...

  6. Qt5.4.1_静态编译

    http://www.cnblogs.com/findumars/p/4852350.html http://godebug.org/index.php/archives/133/ http://ww ...

  7. django网站

    https://www.djangoproject.com/download/ 指定版本安装django命令:pip install Django==1.11.8

  8. Linux命令详解-echo

    echo会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开,并在最后加上换行号. 1.命令格式: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F se ...

  9. 基于Oracle的SQL优化(崔华著)-整理笔记-第5章“Oracle里的统计信息”

    第5章“Oracle里的统计信息” 详细介绍了Oracle数据库里与统计信息相关的各个方面的内容,包括 Oracle数据库中各种统计信息的分类.含义.收集和查看方法,以及如何在Oracle数据库里正确 ...

  10. echarta3 北京,上海地图

    1.首先你得到echarts官网下载js,建议下载完整代码,这样你就很容易根据我的路径找到beijing.js 2.把echarts.js和beijingi.js根据你的路径引对,然后就可以copy我 ...