Pyspark获取并处理RDD数据代码实例


Posted in Python onMarch 27, 2020

弹性分布式数据集(RDD)是一组不可变的JVM对象的分布集,可以用于执行高速运算,它是Apache Spark的核心。

在pyspark中获取和处理RDD数据集的方法如下:

1. 首先是导入库和环境配置(本测试在linux的pycharm上完成)

import os
from pyspark import SparkContext, SparkConf
from pyspark.sql.session import SparkSession
os.environ["PYSPARK_PYTHON"]="/usr/bin/python3"
conf = SparkConf().setAppName('test_rdd')
sc = SparkContext('local', 'test', conf=conf)
spark = SparkSession(sc)

2. 然后,提供hdfs分区数据的路径或者分区表名

txt_File = r"hdfs://host:port/apps/hive/warehouse/数据库名.db/表名/分区名/part-m-00029.deflate" # part-m-00029.deflate
# txt_File = r"hdfs://host:port/apps/hive/warehouse/数据库名.db/表名" # hive table

3. sc.textFile进行读取,得到RDD格式数据<还可以用 spark.sparkContext.parallelize(data) 来获取RDD数据>,参数中还可设置数据被划分的分区数

txt_ = sc.textFile(txt_File)

4. 基本操作:

  • type(txt_):显示数据类型,这时属于 'pyspark.rdd.RDD'
  • txt_.first():获取第一条数据
  • txt_.take(2):获取前2条数据,形成长度为2的list
  • txt_.take(2)[1].split('\1')[1]:表示获取前两条中的第[1]条数据(也就是第2条,因为python的索引是从0开始的),并以 '\1'字符分隔开(这要看你的表用什么作为分隔符的),形成list,再获取该list的第2条数据
  • txt_.map(lambda x:x.split('\1')):使用lambda函数和map函数快速处理每一行数据,这里表示将每一行以 '\1'字符分隔开,每一行返回一个list;此时数据结构是:'pyspark.rdd.PipelinedRDD'
  • txt_.map(lambda x:(x, x.split('\1'))).filter(lambda y:y[0].startswith('北京')):表示在返回 (x, x.split('\1')) 后,进行筛选filter,获取其中以 '北京' 开头的行,并按照相同格式 (例如,这里是(x, x.split('\1'))格式,即原数据+分割后的列表数据) 返回数据
  • txt_.collect():返回所有RDD数据元素,当数据量很大时谨慎操作
  • txt_.toDF():不能直接转成DataFrame格式,需要设置Schema

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python自定义解析简单xml格式文件的方法
May 11 Python
python实现可视化动态CPU性能监控
Jun 21 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
Python Django Vue 项目创建过程详解
Jul 29 Python
给你一面国旗 教你用python画中国国旗
Sep 24 Python
django实现支付宝支付实例讲解
Oct 17 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
Python selenium使用autoIT上传附件过程详解
May 26 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
Jul 13 Python
Django vue前后端分离整合过程解析
Nov 20 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 #Python
Python爬虫爬取、解析数据操作示例
Mar 27 #Python
python opencv进行图像拼接
Mar 27 #Python
Python爬虫爬取电影票房数据及图表展示操作示例
Mar 27 #Python
Pyspark读取parquet数据过程解析
Mar 27 #Python
Python基于pyecharts实现关联图绘制
Mar 27 #Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 #Python
You might like
php实现图片添加水印功能
2014/02/13 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
javascript delete 使用示例代码
2010/03/29 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
vue-axios使用详解
2017/05/10 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
axios使用拦截器统一处理所有的http请求的方法
2018/11/02 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
世界气象日活动总结
2015/02/27 职场文书
小学生表扬稿范文
2015/05/05 职场文书
2015最新民情日记范文
2015/06/26 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers