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 相关文章推荐
Sublime开发python程序的示例代码
Jan 24 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
python处理“
Jun 10 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 Python
使用Python实现画一个中国地图
Nov 23 Python
使用pytorch和torchtext进行文本分类的实例
Jan 08 Python
Python3自定义json逐层解析器代码
May 11 Python
Java多线程实现四种方式原理详解
Jun 02 Python
python mysql中in参数化说明
Jun 05 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
Python项目打包成二进制的方法
Dec 30 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中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
JointJS流程图的绘制方法
2018/12/03 Javascript
vue.js指令v-for使用以及下标索引的获取
2019/01/31 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
谈谈node.js中的模块系统
2020/09/01 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
python脚本设置超时机制系统时间的方法
2016/02/21 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python查看数据类型的方法
2019/10/12 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
办公文员的工作岗位职责
2013/11/12 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
幼师大班个人总结
2015/02/13 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
nginx优化的六点方法
2021/03/31 Servers
python3 hdf5文件 遍历代码
2021/05/19 Python
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技