python print rdd_spark: RDD与DataFrame之间的相互转换方法
DataFrame是一个组织成命名列的数据集。它在概念上等同于关系数据库中的表或R/Python中的数据框架,但其经过了优化。DataFrames可以从各种各样的源构建,例如:结构化数据文件,Hive中的表,外部数据库或现有RDD。
DataFrame API 可以被Scala,Java,Python和R调用。
在Scala和Java中,DataFrame由Rows的数据集表示。
在Scala API中,DataFrame只是一个类型别名Dataset[Row]。而在Java API中,用户需要Dataset用来表示DataFrame。
在本文档中,我们经常将Scala/Java数据集Row称为DataFrames。
那么DataFrame和spark核心数据结构RDD之间怎么进行转换呢?
代码如下:
# -*- coding: utf-8 -*-
from __future__ import print_function
from pyspark.sql import SparkSession
from pyspark.sql import Row
if __name__ == "__main__":
# 初始化SparkSession
spark = SparkSession \
.builder \
.appName("RDD_and_DataFrame") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()
sc = spark.sparkContext
lines = sc.textFile("employee.txt")
parts = lines.map(lambda l: l.split(","))
employee = parts.map(lambda p: Row(name=p[0], salary=int(p[1])))
#RDD转换成DataFrame
employee_temp = spark.createDataFrame(employee)
#显示DataFrame数据
employee_temp.show()
#创建视图
employee_temp.createOrReplaceTempView("employee")
#过滤数据
employee_result = spark.sql("SELECT name,salary FROM employee WHERE salary >= 14000 AND salary <= 20000")
# DataFrame转换成RDD
result = employee_result.rdd.map(lambda p: "name: " + p.name + " salary: " + str(p.salary)).collect()
#打印RDD数据
for n in result:
print(n)
以上这篇spark: RDD与DataFrame之间的相互转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
python print rdd_spark: RDD与DataFrame之间的相互转换方法相关推荐
- spark与python关系_spark: RDD与DataFrame之间的相互转换方法
DataFrame是一个组织成命名列的数据集.它在概念上等同于关系数据库中的表或R/Python中的数据框架,但其经过了优化.DataFrames可以从各种各样的源构建,例如:结构化数据文件,Hive ...
- pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换
# -*- coding: utf-8 -*- import pandas as pd from pyspark.sql import SparkSession from pyspark.sql im ...
- Python数字、字符串、数组之间的相互转换
在平时刷题中,经常需要在数字.字符串.数组之间做转换,苦于网上没有全面的总结,遂自己稍微总结一下. 文章目录 Python数字.字符串.数组相互转换 Python数组转数字 Python数字转数组 P ...
- Python3学习(三十四):python正常时间戳与Unix时间之间的相互转换
对于时间数据,如2018-09-25 09:28:59,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的函数如下: 其中unix_ti ...
- dataframe保存为txt_Word,PDF,PPT,TXT之间的相互转换方法
一.把PPT转WORD形式的方法 1.利用"大纲"视图 打开PPT演示文稿,单击"大纲",在左侧"幻灯片/大纲"任务窗格的"大纲& ...
- python 字典、列表、字符串 之间的相互转换
1.列表与字符串转换 列表转字符串: 将列表中的内容拼接成一个字符串 将列表中的值转成字符串 字符串转列表: 用eval转换 将字符串每个字符转成列表中的值 将字符串按分割成列表 2.列表与字典转换 ...
- [数据结构]树、森林与二叉树之间的相互转换方法
树.二叉树与森林的相互转换 本文只给出树.森林与二叉树之间的转换方法,而详细的证明过程不在本文讨论范围之内. 树 → 二叉树 在所有兄弟结点之间加一连线. 对每个结点,除了保留与其长子的连线外,去掉该 ...
- python describe函数_Python pandas.DataFrame.describe函数方法的使用
DataFrame.describe(self, percentiles=None, include=None, exclude=None) 生成描述性统计数据,总结数据集分布的集中趋势,分散和形状, ...
- python convert函数_Python pandas.DataFrame.tz_convert函数方法的使用
DataFrame.tz_convert(tz, axis=0, level=None, copy=True)[source] 将tz-aware axis转换为目标时区. 参数:tz:str或 tz ...
最新文章
- Oracle 11g Release 1 (11.1) Data Pump 导出模式
- ASP.NET + SqlSever 大数据解决方案 PK HADOOP
- 廖雪峰Java2面向对象编程-4抽象类和接口-1抽象类
- 从领导身上学习到的几个观点
- 列表(list)之一定义 添加 删除 排序 反转 索引等其他操作
- 聚美app之 _sign参数分析
- Linux系统【一】CPU+MMU+fork函数创建进程
- Java 25 岁生日快乐!
- 这个容器逃逸 exploit 获得首届年度谷歌云平台大奖10万美元
- 向上造型和向下造型_动漫美少年漫画造型-仰视、俯视、情感表现
- 我把朋友圈关掉了235天
- Codeforces Round #102 (Div. 1) D Help Shrek and Donkey 2
- 计算机思维导图药剂学,思维导图在药剂学教学中的应用
- 大数据:HBase安装、配置及使用
- 解决wps在windows上弹窗等的流氓行为
- 铁道部售票网站怎么啦?
- 用antv-G2实现雷达图
- 25.JavaScript的Symbol类型、隐藏属性、全局注册表
- java学习四个月以来的想法
- 计算机 医学 sci,医学、计算机与图像处理,免版面费的“研究生之友”SCI论文期刊...
热门文章
- Sublime 编译器-安装插件
- 最火的开源项目及编程语言
- 怎么删除计算机的一个用户名和密码,哪位晓得电脑有两个账户怎么删除一个
- vue项目中vue-router的使用
- android垂直排列元素_元素的视图属性之client
- mysql更新一条语句_讲讲一条MySQL更新语句是怎么执行的?
- 自动轮播图html代码适应手机,JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)...
- android studio单元测试插件,Android Studio单元测试插件下载
- Java的oauth2.0 服务端与客户端的实现
- 关于浏览器Ajax请求Type为Request Payload而不是Form Data