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相关推荐

  1. Spark SQL基本操作以及函数的使用

    2019独角兽企业重金招聘Python工程师标准>>> 引语: 本篇博客主要介绍了Spark SQL中的filter过滤数据.去重.集合等基本操作,以及一些常用日期函数,随机函数,字 ...

  2. 【Spark】Spark SQL, DataFrames and Datasets Guide(翻译文,持续更新)

    本文主要是翻译Spark官网Spark SQL programming guide .只能保证大概意思,尽量保证细节.英文水平有限,如果有错误的地方请指正,轻喷.目录导航在右上角 Spark SQL. ...

  3. spark sql 本地调试_干货 | 如何成为大数据Spark高手

    Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它立足于内存计算,性能超过Hadoop百倍,从多迭代批量处理出发,兼收并蓄数据仓库.流处理和图计算等多种计算范式,是罕见的全能选手. ...

  4. Spark SQL入门示例

    pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:// ...

  5. Spark SQL之DataFrame概述

    产生背景 DataFrame不是Spark SQL提出的,而是早期在R.Pandas语言就已经有了的. Spark RDD API vs MapReduce API Spark诞生之初,其中一个很重要 ...

  6. spark SQL快速入门 1-9 慕课网

    1.hadoop安装 1.修改hadoop配置文件hadoop-env.shexport JAVA_HOME=/home/hadoop/app/jdk1.8.0_91core-site.xml< ...

  7. spark—SQL实战案例

    学习内容 一.sparkSQL在IDEA的使用 1.环境配置 2.快速入门 二.sparkSQL实战案例 1.数据准备 2.案例分析 3.功能实现 4.代码实现 一.sparkSQL在IDEA的使用 ...

  8. Spark SQL 核心编程

    文章目录 Spark SQL 核心编程 1.新的起点 2.SQL 语法 1) 读取 json 文件创建 DataFrame 2) 对 DataFrame 创建一个临时表 3) 通过SQL语句实现查询全 ...

  9. 【Spark SQL】Spark SQL开发

    一.创建DataFrame/DataSet Spark会根据文件信息尝试着去推断DataFrame/DataSet的Schema,当然我们也可以手动指定,手动指定的方式有以下几种: 第1种:指定列名添 ...

最新文章

  1. 学习Python往哪个方向发展好
  2. 【Spring】- Bean生命周期
  3. 推荐算法炼丹笔记:如何让你的推荐系统具有可解释性?
  4. 赛门铁克备份软件服务起不来_软件安全开发服务资质和信息系统灾难备份与恢复服务资质...
  5. sip消息概念(一)
  6. 图论 —— 网络流 —— 费用流 —— zkw 费用流
  7. 如何设置通知栏下拉不可用
  8. android8按键布局,机身按键接口布局合理_手机Android频道-中关村在线
  9. Android读取手机通讯录
  10. jmeter录制脚本
  11. QueryDSL介绍
  12. 天堂2芙蕾雅单机版mysql闪退_【图片】天堂2单机版-芙蕾雅。算是我这个老人对天堂2吧友的最后贡献吧!_天堂2吧_百度贴吧...
  13. 计算机ppt实训报告总结,计算机实训总结模板
  14. 使用c语言实现端口全扫描程序,C语言实现TCP多线程端口扫描
  15. Vim光标定位操作快捷键
  16. HDU - 2567 寻梦 ac代码
  17. 破解webstrom2017
  18. Python map() 函数 特殊用法
  19. 南开大学20春计算机应用基础在线作业,南开大学20春学期计算机应用基础在线作业参考答案...
  20. JDBC数据库连接操作

热门文章

  1. SQL Server 表变量和临时表的区别
  2. JAVA中char和string的区别
  3. Geography爱好者 QGIS WGS84转其它坐标系并计算坐标
  4. Java 程序员必须了解的 7 个性能指标
  5. Redis内部数据结构详解之简单动态字符串(sds)
  6. svn 命令行下常用的几个命令
  7. Linux的Nginx八:服务器配置
  8. android 上线apk,码云 Android apk 在线构建功能上线啦!
  9. python简单小游戏代码_一个简单的python小游戏---七彩同心圆
  10. linux安装zlib_Linux zlib和libpng安装(LAMP环境搭建)