大数据IMF传奇行动绝密课程第71课:Spark SQL窗口函数解密与实战
来源:互联网 发布:英文小说优美 知乎 编辑:程序博客网 时间:2024/05/01 01:56
Spark SQL窗口函数解密与实战
1、Spark SQL窗口函数解析
2、Spark SQL窗口函数实战
/** * Scala代码 */package com.tom.spark.sqlimport org.apache.spark.sql.DataFrameimport org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.sql.hive.HiveContextobject SparkSQLWindowFunctionOps { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local").setAppName("SparkSQLWindowFunctionOps") val sc = new SparkContext(conf) val hiveContext = new HiveContext(sc) hiveContext.sql("use hive") //使用名称为hive的数据库,接下来所有的表操作都位于这个库 /** * 如果要创建的表存在的话就删除,然后创建我们要导入数据的表 */ hiveContext.sql("DROP TABLE IF EXISTS scores") hiveContext.sql("CREATE TABLE IF NOT EXISTS scores(name STRING,score INTEGER)" + "ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\\n'") //把要处理的数据导入到Hive的表中 hiveContext.sql("LOAD DATA LOCAL INPATH '/root/Documents/SparkApps/resources/topNGroup.txt' INTO TABLE scores") /** * 使用子查询的方式完成目标数据的提取,在目标数据内部使用窗口函数row_number来进行分组排序 * PARTITION BY:指定窗口函数分组的Key; * ORDER BY:分组后进行排序; * */ val result = hiveContext.sql("SELECT name, score FROM (" + "SELECT name, score, row_number() OVER (PARTITION BY name ORDER BY score DESC) rank FROM scores" + ") sub_scores " + "WHERE rank<=4") result.show() //把数据保存到Hive数据仓库中 hiveContext.sql("DROP TABLE EXISTS sortedResultScores") result.saveAsTable("sortedResultScores") }}
0 0
- 大数据IMF传奇行动绝密课程第71课:Spark SQL窗口函数解密与实战
- 大数据IMF传奇行动绝密课程第70课:Spark SQL内置函数解密与实战
- 大数据IMF传奇行动绝密课程第72课:Spark SQL UDF和UDAF解密与实战
- 大数据IMF传奇行动绝密课程第61课:Spark SQL数据加载和保存内幕深度解密实战
- 大数据IMF传奇行动绝密课程第67课:spark SQL案例综合实战
- 大数据IMF传奇行动绝密课程第69课:Spark SQL通过Hive数据源实战
- 大数据IMF传奇行动绝密课程第73课:Spark SQL Thrift Server实战
- 大数据IMF传奇行动绝密课程第27课:Spark on Yarn彻底解密
- 大数据IMF传奇行动绝密课程第13课:Spark内核架构解密
- 大数据IMF传奇行动绝密课程第14课:Spark RDD解密
- 大数据IMF传奇行动绝密课程第19课:Spark高级排序彻底解密
- 大数据IMF传奇行动绝密课程第33课:Spark Executor内幕彻底解密
- 大数据IMF传奇行动绝密课程第43课:Spark 1.6 Rpc内幕解密
- 大数据IMF传奇行动绝密课程第63课:Spark SQL下Parquet内幕深度解密
- 大数据IMF传奇行动绝密课程第57课:Spark SQL on Hive配置及实战
- 大数据IMF传奇行动绝密课程第75-79课:Spark SQL基于网站Log的综合案例实战
- 大数据IMF传奇行动绝密课程第80课:Spark SQL网站搜索综合案例实战
- 大数据IMF传奇行动绝密课程第65课:Spark SQL下Parquet深入进阶
- 今天开始好好学习吧!
- 使用缓冲功能的BufferedReader和BufferedWriter复制文本文件,按照行读写
- 第一章 多线程的技能
- 时间、空间复杂度
- 你是我的小呀小cookie
- 大数据IMF传奇行动绝密课程第71课:Spark SQL窗口函数解密与实战
- POJ-1611 The Suspects
- SpringMvc Junit4
- Hibernate一级缓存(基于查询分析)
- WebAssembly,Web的新时代
- 通过浏览器打开本地Activity
- 2017.3.4 pat甲级B题Chain the Ropes
- beautifulsoup在windows下的安装
- 斜率优化 【ZJOI 2007】仓库建设 bzoj1096