Spark SQL之DataSet
DataSet是分布式的数据集,是spark1.6才被添加进来的。比DataFrame出现的晚。DataSet支持lambda表达式,而且DataFrame的API在DataSet中大部分都可以继续使用,相当于DataFrame的升级版。
Spark如何解析csv文件
待处理文件infos.txt
,内容如下:
id,name,age
1,vincent,20
2,sarah,19
3,sofia,29
4,monica,26
代码如下:
package cn.ac.iie.sparkimport org.apache.spark.sql.SparkSession/*** DataSet 操作*/
object DataSetApp {def main(args: Array[String]): Unit = {val spark = SparkSession.builder().appName("DataFrameCase").master("local[2]").getOrCreate()// spark如何解析csv文件val df = spark.read.option("header", "true").option("inferSchema", "true").csv("file:///E:/test/infos.txt")df.show()// 注意需要导入隐式转换import spark.implicits._val ds = df.as[Infos]ds.map(line => line.id).show()spark.close()}case class Infos(id: Int, name: String, age: Int)}
静态类型(Static-typing)和运行时类型安全(runtime type-safety)
Syntax Errors语法解析错误:编写SQL时,是在运行时才解析SQL语句写的对不对。
Analysis Errors对于分析错误:SQL也是在运行时才能知道是不是正确。
举个栗子:
SQL语句是:select name from person;
,当我们写的时候单词写错了写成了:selcet name from peson;
,那么这个SQL语句在编译的时候是成功的,但是在执行过程中是错误的。
DataFrame:df.select("name")
如果这句话写错成了df.selcet("name")
那么编译是不通过的。而写错成了df.select("nname")
那么编译时不通过。
DataSet:ds.map(line => line.name)
如果写成ds.map(line => line.nname)
那么编译是就不通过了。
Spark SQL之DataSet相关推荐
- Spark SQL基本操作以及函数的使用
2019独角兽企业重金招聘Python工程师标准>>> 引语: 本篇博客主要介绍了Spark SQL中的filter过滤数据.去重.集合等基本操作,以及一些常用日期函数,随机函数,字 ...
- 【Spark】Spark SQL, DataFrames and Datasets Guide(翻译文,持续更新)
本文主要是翻译Spark官网Spark SQL programming guide .只能保证大概意思,尽量保证细节.英文水平有限,如果有错误的地方请指正,轻喷.目录导航在右上角 Spark SQL. ...
- spark sql 本地调试_干货 | 如何成为大数据Spark高手
Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计算等多种计算范式,是罕见的全能选手. ...
- Spark SQL入门示例
pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:// ...
- Spark SQL之DataFrame概述
产生背景 DataFrame不是Spark SQL提出的,而是早期在R.Pandas语言就已经有了的. Spark RDD API vs MapReduce API Spark诞生之初,其中一个很重要 ...
- spark SQL快速入门 1-9 慕课网
1.hadoop安装 1.修改hadoop配置文件hadoop-env.shexport JAVA_HOME=/home/hadoop/app/jdk1.8.0_91core-site.xml< ...
- spark—SQL实战案例
学习内容 一.sparkSQL在IDEA的使用 1.环境配置 2.快速入门 二.sparkSQL实战案例 1.数据准备 2.案例分析 3.功能实现 4.代码实现 一.sparkSQL在IDEA的使用 ...
- Spark SQL 核心编程
文章目录 Spark SQL 核心编程 1.新的起点 2.SQL 语法 1) 读取 json 文件创建 DataFrame 2) 对 DataFrame 创建一个临时表 3) 通过SQL语句实现查询全 ...
- 【Spark SQL】Spark SQL开发
一.创建DataFrame/DataSet Spark会根据文件信息尝试着去推断DataFrame/DataSet的Schema,当然我们也可以手动指定,手动指定的方式有以下几种: 第1种:指定列名添 ...
最新文章
- 学习Python往哪个方向发展好
- 【Spring】- Bean生命周期
- 推荐算法炼丹笔记:如何让你的推荐系统具有可解释性?
- 赛门铁克备份软件服务起不来_软件安全开发服务资质和信息系统灾难备份与恢复服务资质...
- sip消息概念(一)
- 图论 —— 网络流 —— 费用流 —— zkw 费用流
- 如何设置通知栏下拉不可用
- android8按键布局,机身按键接口布局合理_手机Android频道-中关村在线
- Android读取手机通讯录
- jmeter录制脚本
- QueryDSL介绍
- 天堂2芙蕾雅单机版mysql闪退_【图片】天堂2单机版-芙蕾雅。算是我这个老人对天堂2吧友的最后贡献吧!_天堂2吧_百度贴吧...
- 计算机ppt实训报告总结,计算机实训总结模板
- 使用c语言实现端口全扫描程序,C语言实现TCP多线程端口扫描
- Vim光标定位操作快捷键
- HDU - 2567 寻梦 ac代码
- 破解webstrom2017
- Python map() 函数 特殊用法
- 南开大学20春计算机应用基础在线作业,南开大学20春学期计算机应用基础在线作业参考答案...
- JDBC数据库连接操作
热门文章
- SQL Server 表变量和临时表的区别
- JAVA中char和string的区别
- Geography爱好者 QGIS WGS84转其它坐标系并计算坐标
- Java 程序员必须了解的 7 个性能指标
- Redis内部数据结构详解之简单动态字符串(sds)
- svn 命令行下常用的几个命令
- Linux的Nginx八:服务器配置
- android 上线apk,码云 Android apk 在线构建功能上线啦!
- python简单小游戏代码_一个简单的python小游戏---七彩同心圆
- linux安装zlib_Linux zlib和libpng安装(LAMP环境搭建)