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之间的相互转换方法相关推荐

  1. spark与python关系_spark: RDD与DataFrame之间的相互转换方法

    DataFrame是一个组织成命名列的数据集.它在概念上等同于关系数据库中的表或R/Python中的数据框架,但其经过了优化.DataFrames可以从各种各样的源构建,例如:结构化数据文件,Hive ...

  2. pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换

    # -*- coding: utf-8 -*- import pandas as pd from pyspark.sql import SparkSession from pyspark.sql im ...

  3. Python数字、字符串、数组之间的相互转换

    在平时刷题中,经常需要在数字.字符串.数组之间做转换,苦于网上没有全面的总结,遂自己稍微总结一下. 文章目录 Python数字.字符串.数组相互转换 Python数组转数字 Python数字转数组 P ...

  4. Python3学习(三十四):python正常时间戳与Unix时间之间的相互转换

    对于时间数据,如2018-09-25 09:28:59,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的函数如下: 其中unix_ti ...

  5. dataframe保存为txt_Word,PDF,PPT,TXT之间的相互转换方法

    一.把PPT转WORD形式的方法 1.利用"大纲"视图 打开PPT演示文稿,单击"大纲",在左侧"幻灯片/大纲"任务窗格的"大纲& ...

  6. python 字典、列表、字符串 之间的相互转换

    1.列表与字符串转换 列表转字符串: 将列表中的内容拼接成一个字符串 将列表中的值转成字符串 字符串转列表: 用eval转换 将字符串每个字符转成列表中的值 将字符串按分割成列表 2.列表与字典转换 ...

  7. [数据结构]树、森林与二叉树之间的相互转换方法

    树.二叉树与森林的相互转换 本文只给出树.森林与二叉树之间的转换方法,而详细的证明过程不在本文讨论范围之内. 树 → 二叉树 在所有兄弟结点之间加一连线. 对每个结点,除了保留与其长子的连线外,去掉该 ...

  8. python describe函数_Python pandas.DataFrame.describe函数方法的使用

    DataFrame.describe(self, percentiles=None, include=None, exclude=None) 生成描述性统计数据,总结数据集分布的集中趋势,分散和形状, ...

  9. python convert函数_Python pandas.DataFrame.tz_convert函数方法的使用

    DataFrame.tz_convert(tz, axis=0, level=None, copy=True)[source] 将tz-aware axis转换为目标时区. 参数:tz:str或 tz ...

最新文章

  1. Oracle 11g Release 1 (11.1) Data Pump 导出模式
  2. ASP.NET + SqlSever 大数据解决方案 PK HADOOP
  3. 廖雪峰Java2面向对象编程-4抽象类和接口-1抽象类
  4. 从领导身上学习到的几个观点
  5. 列表(list)之一定义 添加 删除 排序 反转 索引等其他操作
  6. 聚美app之 _sign参数分析
  7. Linux系统【一】CPU+MMU+fork函数创建进程
  8. Java 25 岁生日快乐!
  9. 这个容器逃逸 exploit 获得首届年度谷歌云平台大奖10万美元
  10. 向上造型和向下造型_动漫美少年漫画造型-仰视、俯视、情感表现
  11. 我把朋友圈关掉了235天
  12. Codeforces Round #102 (Div. 1) D Help Shrek and Donkey 2
  13. 计算机思维导图药剂学,思维导图在药剂学教学中的应用
  14. 大数据:HBase安装、配置及使用
  15. 解决wps在windows上弹窗等的流氓行为
  16. 铁道部售票网站怎么啦?
  17. 用antv-G2实现雷达图
  18. 25.JavaScript的Symbol类型、隐藏属性、全局注册表
  19. java学习四个月以来的想法
  20. 计算机 医学 sci,医学、计算机与图像处理,免版面费的“研究生之友”SCI论文期刊...

热门文章

  1. Sublime 编译器-安装插件
  2. 最火的开源项目及编程语言
  3. 怎么删除计算机的一个用户名和密码,哪位晓得电脑有两个账户怎么删除一个
  4. vue项目中vue-router的使用
  5. android垂直排列元素_元素的视图属性之client
  6. mysql更新一条语句_讲讲一条MySQL更新语句是怎么执行的?
  7. 自动轮播图html代码适应手机,JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)...
  8. android studio单元测试插件,Android Studio单元测试插件下载
  9. Java的oauth2.0 服务端与客户端的实现
  10. 关于浏览器Ajax请求Type为Request Payload而不是Form Data