导读:上一期介绍了Spark最重要的数据抽象RDD,相比RDD,DataFrame增加了scheme概念,从这个角度看,DataFrame有点类似于关系型数据库中表的概念。本章来具体讲解DataFrame的特点、创建和使用。

本文经授权转自公众号DLab数据实验室作者 | 小舰出品 | DLab数据实验室(ID:rucdlab)

数据抽象

DataFrame

1.DataFrame特点

DataFrames和Datasets是spark中结构化数据的主要抽象形式。

DataFrames将结构化数据以表格形式表示

  • DataFrames类似于RDBMS中的表格

  • DataFrames由一组松散类型的行对象组成

  • 行包含一组有序的值,他们通过schema被描述为列,每个DataFrame都有一个对应的schema, schmea定义了列的名称和类型。

  • 列的类型可以是基础类型(integers,strings,floats)或者组合类型(Arrays, lists)

Datasets将数据表示为指定类型的对象的集合

  • Datasets是强类型的,在编译时就将强制进行类型检查,而不是等到运行时间

  • schema将对象属性映射为表的行和列

  • 数据集仅在Scala和Java中定义

  • DataFrame是Dataset [Row]的别名,他是包含Row的数据集

可以根据下图对比RDD与DataFrame数据结构的差别:

二、DataFrame创建

三、DataFrame操作

DataFrame的操作非常丰富,看下面三个表所列的操作,在业务处理的时候可以根据需求选用以下的方法进行数据处理。

1.Action操作

2.DataFrame操作

3.结构化查询

DataFrame非常类似我们数据库重的表,可以在DataFrame上进行很多SQL类的操作。

以上就是Spark最重要的数据抽象之一DataFrame的介绍。至此,我们已经把Spark最重要的两个数据抽象类型RDD和DataFrame都讲解完了。在实际的编程中,大部分操作都是涉及对这两个数据抽象的转换,所以熟练运用对于进行大数据编程至关重要。下一期,将开始介绍Spark内核相关的内容,敬请期待。

●Spark原理与实战--数据抽象RDD(四)

●Spark原理与实战--GraphX图查询(三)

●Spark原理与实战--SparkStreaming流处理(二)

●Spark原理与实战--环境搭建及WordCount(一)

●Spark数据倾斜解决方案实战(二)

●Spark数据倾斜解决方案实战(一)

●大数据计算生态之数据计算(二)

●大数据计算生态之数据计算(一)

●大数据计算生态之数据存储

文章都看完了不点个 吗

欢迎    点赞、在看、分享  三连哦~~

创建dataframe_Spark原理与实战(五) Spark核心数据抽象DataFrame相关推荐

  1. spark任务shell运行_Spark原理与实战(七)部署模式与运行机制

    导读:Spark的运行模式指的是Spark应用程序以怎样的方式运行,单节本地点运行还是多节点集群运行,自己进行资源调度管理还是依靠别人进行调度管理.Spark提供了多种多样,灵活多变的部署模式. 作者 ...

  2. React Hooks核心原理与实战

    React Hooks核心原理与实战 一.Hooks的优点 1.1 Hooks的含义 1.2 优点 二.常用的Hooks 2.1 useState 2.2 useEffect 2.3 useCallb ...

  3. 可能要用心学高并发核心编程,限流原理与实战,分布式令牌桶限流

    实战:分布式令牌桶限流 本节介绍的分布式令牌桶限流通过Lua+Java结合完成,首先在Lua脚本中完成限流的计算,然后在Java代码中进行组织和调用. 分布式令牌桶限流Lua脚本 分布式令牌桶限流Lu ...

  4. Spark 核心原理

    文章目录 1. Spark核心原理 2. 消息通信原理 2.1. Spark运行时消息通信 2.2. 作业执行原理 2.2.1. 总述 2.2.2. 提交Job 2.2.3. 划分stage 2.2. ...

  5. 《深入理解Spark:核心思想与源码分析》——3.10节创建和启动ExecutorAllocationManager...

    本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第3章,第3.10节创建和启动ExecutorAllocationManager,作者耿嘉安,更多章节内容可以访问云栖 ...

  6. 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战

    目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...

  7. Android组件化实战五: APT的高级用法JavaPoet

    Android 组件化实战一: Gradle基础语法 Android 组件化实战二: 项目部署 Android组件化实战三: 模块之间的交互 Android组件化实战四: APT的介绍与使用 Andr ...

  8. 视频教程-Spark实战教程-Spark

    Spark实战教程 大强老师 大华软件学院 技术总监 / 高级讲师 曾就职于中软国际华为业务线,具有十五年软件开发和培训经验. 刘宏强 ¥80.00 立即订阅 扫码下载「CSDN程序员学院APP」,1 ...

  9. 读书笔记-SpringCloudAlibaba微服务原理与实战-谭锋-【未完待续】

    SpringCloudAlibaba微服务原理与实战 谭锋 电子工业出版社 ISBN-9787121388248 仅供参考, 自建索引, 以备后查 一.应用架构演进.微服务发展史 1.单体架构 一般来 ...

  10. [原创].NET 分布式架构开发实战五 Framework改进篇

    原文:[原创].NET 分布式架构开发实战五 Framework改进篇 .NET 分布式架构开发实战五 Framework改进篇 前言:本来打算这篇文章来写DAL的重构的,现在计划有点改变.之前的文章 ...

最新文章

  1. luogu P4085 [USACO17DEC]Haybale Feast(尺取法 + 线段树)
  2. 网站使用QQ登录问题小结
  3. 玻璃体混浊不要转眼球
  4. JEEWX微信开发更便捷,Ngrok 内网穿透利器应用
  5. 资产分池中的量化实战
  6. oracle多关键字查询,Oracle多关键字查询
  7. IOS平台hosts修改
  8. gcc 源码下载地址
  9. vue中的横向排列_vue + ElementUI 的横向表格代码
  10. SQL Server 双机热备份-实现主从复制
  11. linux最全网络监控命令梳理及评测
  12. 【python】如何批量修改文件名
  13. 机器学习--详解人脸对齐算法SDM-LBF
  14. python 小说下载工具_python 制作网站小说下载器
  15. ansible的使用
  16. 甲骨文数据库购买的价格(二)
  17. vue跳转链接(新页签)
  18. uniapp搜索出的文字高光并添加锚点
  19. RFID读卡器增量更新思路与代码实现
  20. 分析Adobe Illustrator CC(AI)中的橡皮擦和直线工具

热门文章

  1. postgresql-定时备份,压缩备份
  2. 021.4 IO流——字节、字符桥梁(编码解码)
  3. 史上最经典的数据库面试题之一
  4. 水晶报表-推拉模式实例
  5. 【GDB调试学习笔记】调试逻辑错误
  6. 排序算法2:冒泡排序
  7. Python学习总结(4)——运算符
  8. 计算机操作员(高级)理论知识考试卷,计算机操作员高级试题
  9. 安装win10和ubuntu16双系统
  10. JavaSE学习--正则表达式