Spark SQL中 RDD 转换到 DataFrame (方法二)
强调它与方法一的区别:当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 (方法二)相关推荐
- Spark中RDD转换成DataFrame的两种方式(分别用Java和scala实现)
一:准备数据源 在项目下新建一个student.txt文件,里面的内容为: [plain] view plain copy print? <code class=&q ...
- Spark SQL中的DataFrame
在2014年7月1日的 Spark Summit 上,Databricks 宣布终止对 Shark 的开发,将重点放到 Spark SQL 上.在会议上,Databricks 表示,Shark 更多是 ...
- 解决数据倾斜一:RDD执行reduceByKey或则Spark SQL中使用group by语句导致的数据倾斜
一:概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的 ...
- Spark SQL 中UDF的讲解
Spark SQL 中UDF的讲解 User Define Function, 用户自定义函数,简称UDF,存在与很多组件中. 在使用Sparksql的人都遇到了Sparksql所支持的函数太少了的难 ...
- Spark SQL中出现 CROSS JOIN 问题解决
Spark SQL中出现 CROSS JOIN 问题解决 参考文章: (1)Spark SQL中出现 CROSS JOIN 问题解决 (2)https://www.cnblogs.com/yjd_hy ...
- SQL语句行列转换两种方法 case ...when 和pivot函数应用
2019独角兽企业重金招聘Python工程师标准>>> SQL语句行列转换两种方法 case ...when 和pivot函数应用SQL语句行列转换两种方法 case ...when ...
- Spark SQL原理及常用方法详解(二)
Spark SQL 一.Spark SQL基础知识 1.Spark SQL简介 (1)简单介绍 (2)Datasets & DataFrames (3)Spark SQL架构 (4)Spark ...
- spark sql定义RDD、DataFrame与DataSet
RDD 优点: 编译时类型安全 编译时就能检查出类型错误 面向对象的编程风格 直接通过类名点的方式来操作数据 缺点: 序列化和反序列化的性能开销 无论是集群间的通信, 还是IO操作都需要对对象的结构和 ...
- Spark SQL之RDD转DataFrame
准备文件 首先准备好测试文件info.txt,内容如下: 1,vincent,20 2,sarah,19 3,sofia,29 4,monica,26 将RDD转成DataFrame 方式一:反射 可 ...
最新文章
- “千年虫”,计算机的巨大BUG!
- 在python中用import或者from_[转]python基础之---import与from...import....
- android 如何修改百度导航诱导界面,Android 百度导航SDK
- lock_sh 示例_带有示例的Python date __str __()方法
- 比特币官方客户端钱包是用什么语言开发的_5种主流比特币客户端的开发选型...
- iOS开发,多个button数组,每个数组只能选中5项,多个数组只能选择3个。
- Zerodium 称 iOS exploit 过剩,将暂停收购且买价或下跌
- 隐藏与显现_惠州楼盘冷热不均价格涨跌互现 差异化调控作用显现
- discuz mysql语句_discuz 数据库插入
- 处理minidump文件用到的“工具”的分享
- python程序设计题库-知到智慧树_Python程序设计基础_完整免费答案
- 五十九秒的秒表C语言程序,单片机试验00-59秒计时器(利用软件延时)
- Excel画横坐标不均分的图表
- 【Mathtype】安装Mathtype后,word无法粘贴的问题
- msapro-note
- Redis 配置开机自动启动
- windows快捷键,选中鼠标所指以上或以下内容
- IEC61850笔记--开源代码libIEC61850(一)
- UPP映象(A C++ GUI lib)
- 【C++复习总结回顾】—— 【五】数组与指针
热门文章
- webpack加载postcss,以及autoprefixer的loader
- mysql innodb学习笔记
- [C++] 井字棋游戏源码
- [征求意见]团队发展、技术交流主题、团队机构
- initial model for Agile Development Organization: Relationship Graph
- genius choice for gopro
- 危机永远回来,只是什么时候的问题
- 3000块你请不到一个农民工,只能请到一个大学生
- 给初学编程的人的干货
- web报告工具FineReport在使用方法和解决方案常见错误遇到(一)