1.构成

  由RDD+Schema构成
    RDD: DataFrame中的数据 ===> df.rdd
    Schema: RDD中数据的结构 ===> df.schema

    df是dataFrame。

2.官网

  

  

3.DataFrame的本质  

  内部实质上就是一个逻辑执行计划
  Catalyst模块负责逻辑执行计划
  逻辑计划 -> 分析逻辑计划 -> 优化逻辑计划 -> 产生物理计划(多个) -> 判断物理计划的执行成本 -> 选择一个最优物理计划SparkCore代码生成 -> SparkCore代码执行
  题外:Spark2.x之前的版本不支持逻辑计划产生的修改
  Spark2.x支持用户自定义HQL逻辑计划产生

  

4.DataFrame的数据保存

  第一种: 将Dataframe转换为RDD,RDD数据保存
  第二种: 直接通过DataFrame的write属性将数据写出(有限制,必须有定义类实现,默认情况:SparkSQL只支持parquet、json、jdbc...)

5.创建DataFrame

  val df = sqlContext.#   :这个是使用各种api,例如sql,然后返回dataFrame。
  val df = sqlContext.read.#

最新文章

  1. SVG坐标系统
  2. PHP中被定义为false的
  3. Linux版OpenVPN安装、配置教程(转)
  4. Android开发中,那些让您觉得相见恨晚的方法、类或接口
  5. distinct和group by
  6. R如何检验类别变量(nominal variable)与其他变量之间的相关性
  7. FZU Problem 2136 取糖果
  8. Navicat for PostgreSQL 必须知道的十大功能
  9. Reverse String
  10. Win8-64位安装OpenSSL详细过程
  11. Apache 多站点(虚拟主机)
  12. 使用RGBa和Filter实现不影响子元素的CSS透明背景
  13. NodeJS 实现手机短信验证 模块阿里大于
  14. spark MLlib DataType ML中的数据类型
  15. python基础—购物车小程序练习
  16. 关掉 ubuntu bug 报告功能
  17. Hive之变量和属性
  18. python测试开发django-42.auth模块登陆认证
  19. canvas高效绘制10万图形,你必须知道的高效绘制技巧
  20. Pymongo--极简使用指南

热门文章

  1. CRM 报表导出excel时指定sheet名
  2. SpringBoot中的定时任务与Quartz的整合
  3. spring.net框架配置和使用
  4. Luogu 2764 最小路径覆盖问题 / Libre 6002 「网络流 24 题」最小路径覆盖 (网络流,最大流)
  5. POJ 2251 Dungeon Master /UVA 532 Dungeon Master / ZOJ 1940 Dungeon Master(广度优先搜索)
  6. 【POJ2796】Feel Good 单调栈
  7. 【codevs1959】拔河比赛
  8. 61. Rotate List(M);19. Remove Nth Node From End of List(M)
  9. TradingView学习记录
  10. Kafka 0.8 sever:源代码High level分析