SparkSQL之DataFrame API
测试文件
测试文件employees.json
,内容如下:
{"name":"Michael", "salary":3000, "age": 28}
{"name":"Andy", "salary":4500}
{"name":"Justin", "salary":3500}
{"name":"Berta", "salary":4000}
{"name":"vincent", "salary":90000}
CREATE DataFrame
package cn.ac.iie.sparkimport org.apache.spark.sql.SparkSession/*** DataFrame API基本操作*/object DataFrameApp {def main(args: Array[String]): Unit = {val spark = SparkSession.builder().appName("DataFrameApp").master("local[2]").getOrCreate()// 本地文件系统或者HDFS都支持// 将Json文件加载成一个DataFrameval peopleDF = spark.read.format("json").load("file:///E:/test/employees.json")// 输出DataFrame对应的Schema信息peopleDF.printSchema()// 默认展示数据集前20条记录peopleDF.show()//查询某列的所有数据,相当于mysql中的 select name frompeopleDF.select("name").show()peopleDF.select(peopleDF.col("name"), peopleDF.col("age") + 10).show()peopleDF.select(peopleDF.col("name"), (peopleDF.col("age") + 10).as("age2")).show()// 根据某一列的值进行过滤: select * from table where age > 20peopleDF.filter(peopleDF.col("age") > 20).show()// 根据某一列进行分组,然后在进行聚合操作:select age, count(1) from table group by agepeopleDF.groupBy(peopleDF.col("age")).count().show()spark.stop()}
}
show()
方法默认展示前20条记录,如果要展示多条,则写为show(100)
printSchema
peopleDF.printSchema()
show
peopleDF.show()
select
查询某一列数据
peopleDF.select("name").show()
查询某几列所有的数据
peopleDF.select(peopleDF.col("name"), peopleDF.col("age") + 10).show()
,并且还可以对某一列数据进行相应的计算。
给某列名起别名
peopleDF.select(peopleDF.col("name"), (peopleDF.col("age") + 10).as("age2")).show()
filter
peopleDF.filter(peopleDF.col("age") > 20).show()
group
根据某一列进行分组,然后在进行聚合操作.
原始数据:
peopleDF.groupBy(peopleDF.col("age")).count().show()
SparkSQL之DataFrame API相关推荐
- SparkSql之DataFrame操作
Spark SQL中的DataFrame类似于一张关系型数据表.在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现.可以参考,Scala提供的DataFra ...
- PySpark | SparkSQL入门 | DataFrame入门
文章目录 一.快速入门 1. 什么是SparkSQL 2. 为什么要学习SparkSQL 3. SparkSQL特点 二.SparkSQL概述 1. SparkSQL和Hive的异同 2. Spark ...
- Spark调优、DataFrame API使用、大表Join、动态分区
Spark DataFrame [scala版] 实践小结 Spark DataFrame 使用注意事项 下面介绍的是使用Dataframe时 api 文档中没有写,但是需要注意的坑. DataFra ...
- SparkSQL之DataFrame 编程(创建DataFrame ,DataFrame数据运算操作 ,输出存储DataFrame)(11)
一 新的编程入口 SparkSession SparkSession 是 Spark 最新的 SQL 查询起始点 ,实质上是 SQLcontext 和 SparkContext 的组合 ,所以在 S ...
- 35、sparkSQL及DataFrame
一.saprkSQL背景 Spark 1.0版本开始,推出了Spark SQL.其实最早使用的,都是Hadoop自己的Hive查询引擎:但是后来Spark提供了Shark:再后来Shark被淘汰,推出 ...
- SparkSQL 创建 DataFrame 的方式
1.读取 json 格式的文件创建 DataFrame 注意: 可以两种方式读取 json 格式的文件. df.show()默认显示前 20 行数据. DataFrame 原生 API 可以操作 Da ...
- SparkSQL之DataFrame案例
待处理文件 准备待处理文件student.data,内容如下: 1|vincent|13827460000|gvark@eyou.com 2|jenny|13827460002|ovwgofpa@56 ...
- Python DataFrame Api整理
DataFrame是提供了很多非常强大的表格管理函数,可以方便的处理表格型数据,DataFrame可以看成每一列都是一个Series组成的表格 DataFrame初始化 import pandas a ...
- sparksql:dataframe数据写入到Hbase中
一.步骤:在idea中编程 1.1 添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project ...
最新文章
- 如何恢复默认域策略和默认域控制器策略
- 信号与系统参考书推荐
- CentOS 5.x 系统下使用yum 升级php到5.2.x
- 禁止MT在公式后面自动添加一个空格
- 有图有真相!这世界上,竟有人跟你长得一模一样!
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
- C++ opengl 点光源
- MYSQL 5.1自动安装脚本
- OpenShift 4 Hands-on Lab (8) 基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline
- TokenInsight:BTC新增流量延续上升,链上活跃度保持高位运行
- (一〇二)静态库(.a)的打包
- 人口会一直增长下去吗_想要一直美下去?护肤雷区你避开了吗?
- unity项目小记_unity webplayer Failed to update unity web player错误解决办法
- 移动端车牌识别要做到那一步?
- 今天去地坛书市淘书了
- echart自定义动画_echarts动画效果
- 设置单独进程打开资源管理器有效防止电脑假死!
- Programming Ruby 读书笔记(七)
- 非核心版本的计算机上_哪个版本的Microsoft Office最好使用、来占用最少的资源...
- http、tcp/ip、socket
热门文章
- Package name must have at least two identifiers 解决办法
- SEO优化技巧:16个方法优化网页中的图片
- java iterator map_Java循环遍历输出map方法
- 如何用Excel统计出各科指定分数段的人数?(亲测)
- 《程序员》2月精彩内容:互联网应用架构面面观
- MySQL主从复制的原理:IO用于交互 SQL用于解析执行;主bin-log 从relay-log;
- PHP的$_FILES
- python scatter参数详解_python matplotlib.scatter 用法
- apollo修改配置刷新bean_技术文档丨Apollo软件概述
- matlab 实验6 高层绘图操作,实验06_高层绘图操作(第5章).doc