强调它与方法一的区别:当DataFrame的数据结构不能够被提前定义。例如:(1)记录结构已经被编码成字符串 (2) 结构在文本文件中,可能需要为不同场景分别设计属性等以上情况出现适用于以下方法。1.people.txt:soyo8, 35小周, 30小华, 19soyo,88

/*** Created by soyo on 17-10-10.* 使用编程方式定义RDD模式*/
import org.apache.spark.sql.types._
import org.apache.spark.sql.{Row, SparkSession}
object RDD_To_DataFrame2 {def main(args: Array[String]): Unit = {val spark=SparkSession.builder().getOrCreate()val peopleRDD=spark.sparkContext.textFile("file:///home/soyo/桌面/spark编程测试数据/people.txt")val schema_S="name age"val fields=schema_S.split(" ").map(x=>StructField(x,StringType,nullable = true))//生成模式val schema=StructType(fields)val rowRDD=peopleRDD.map(_.split(",")).map(x=>Row(x(0),x(1).trim))val peopleDF=spark.createDataFrame(rowRDD,schema)peopleDF.createOrReplaceTempView("people2")val results=spark.sql("select * from people2")results.show()results.groupBy("age").count().show()}}

结果:+-----+---+| name|age|+-----+---+|soyo8| 35||   小周| 30||   小华| 19|| soyo| 88|+-----+---+

+---+-----+|age|count|+---+-----+| 30|    1|| 35|    1|| 19|    1|| 88|    1|+---+-----+

转载于:https://www.cnblogs.com/soyo/p/7647668.html

Spark SQL中 RDD 转换到 DataFrame (方法二)相关推荐

  1. Spark中RDD转换成DataFrame的两种方式(分别用Java和scala实现)

    一:准备数据源       在项目下新建一个student.txt文件,里面的内容为:         [plain] view plain copy print? <code class=&q ...

  2. Spark SQL中的DataFrame

    在2014年7月1日的 Spark Summit 上,Databricks 宣布终止对 Shark 的开发,将重点放到 Spark SQL 上.在会议上,Databricks 表示,Shark 更多是 ...

  3. 解决数据倾斜一:RDD执行reduceByKey或则Spark SQL中使用group by语句导致的数据倾斜

    一:概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的 ...

  4. Spark SQL 中UDF的讲解

    Spark SQL 中UDF的讲解 User Define Function, 用户自定义函数,简称UDF,存在与很多组件中. 在使用Sparksql的人都遇到了Sparksql所支持的函数太少了的难 ...

  5. Spark SQL中出现 CROSS JOIN 问题解决

    Spark SQL中出现 CROSS JOIN 问题解决 参考文章: (1)Spark SQL中出现 CROSS JOIN 问题解决 (2)https://www.cnblogs.com/yjd_hy ...

  6. SQL语句行列转换两种方法 case ...when 和pivot函数应用

    2019独角兽企业重金招聘Python工程师标准>>> SQL语句行列转换两种方法 case ...when 和pivot函数应用SQL语句行列转换两种方法 case ...when ...

  7. Spark SQL原理及常用方法详解(二)

    Spark SQL 一.Spark SQL基础知识 1.Spark SQL简介 (1)简单介绍 (2)Datasets & DataFrames (3)Spark SQL架构 (4)Spark ...

  8. spark sql定义RDD、DataFrame与DataSet

    RDD 优点: 编译时类型安全 编译时就能检查出类型错误 面向对象的编程风格 直接通过类名点的方式来操作数据 缺点: 序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和 ...

  9. Spark SQL之RDD转DataFrame

    准备文件 首先准备好测试文件info.txt,内容如下: 1,vincent,20 2,sarah,19 3,sofia,29 4,monica,26 将RDD转成DataFrame 方式一:反射 可 ...

最新文章

  1. “千年虫”,计算机的巨大BUG!
  2. 在python中用import或者from_[转]python基础之---import与from...import....
  3. android 如何修改百度导航诱导界面,Android 百度导航SDK
  4. lock_sh 示例_带有示例的Python date __str __()方法
  5. 比特币官方客户端钱包是用什么语言开发的_5种主流比特币客户端的开发选型...
  6. iOS开发,多个button数组,每个数组只能选中5项,多个数组只能选择3个。
  7. Zerodium 称 iOS exploit 过剩,将暂停收购且买价或下跌
  8. 隐藏与显现_惠州楼盘冷热不均价格涨跌互现 差异化调控作用显现
  9. discuz mysql语句_discuz 数据库插入
  10. 处理minidump文件用到的“工具”的分享
  11. python程序设计题库-知到智慧树_Python程序设计基础_完整免费答案
  12. 五十九秒的秒表C语言程序,单片机试验00-59秒计时器(利用软件延时)
  13. Excel画横坐标不均分的图表
  14. 【Mathtype】安装Mathtype后,word无法粘贴的问题
  15. msapro-note
  16. Redis 配置开机自动启动
  17. windows快捷键,选中鼠标所指以上或以下内容
  18. IEC61850笔记--开源代码libIEC61850(一)
  19. UPP映象(A C++ GUI lib)
  20. 【C++复习总结回顾】—— 【五】数组与指针

热门文章

  1. webpack加载postcss,以及autoprefixer的loader
  2. mysql innodb学习笔记
  3. [C++] 井字棋游戏源码
  4. [征求意见]团队发展、技术交流主题、团队机构
  5. initial model for Agile Development Organization: Relationship Graph
  6. genius choice for gopro
  7. 危机永远回来,只是什么时候的问题
  8. 3000块你请不到一个农民工,只能请到一个大学生
  9. 给初学编程的人的干货
  10. web报告工具FineReport在使用方法和解决方案常见错误遇到(一)