spark
文章平均质量分 73
wangyangmingtian
这个作者很懒,什么都没留下…
展开
-
Hive相关知识
hive相关知识原创 2022-07-18 16:00:31 · 545 阅读 · 1 评论 -
spark分组求解前百分之十
上面两篇文章介绍了一下使用spark分组求解top值的两种方式,我们在日常工作中也可能会遇到另外一种情况,即对源数据求解每个分组的前百分之多少的情况,这种情况如何解决呢,其实和分组求top的方式类似,只不过该种情况会使用另外一种窗口函数percent_rank(),下面简单说明一下:一:java版本1.准备原始数据原始数据datasetMarket=spark.read.parquet("basePath").select("学校", "班级","成绩")2.对要进行分组的数据分组进行排序,原创 2020-08-28 15:23:57 · 1015 阅读 · 1 评论 -
sparkSql分组求top值
上篇文章中介绍了使用JAVA版本的分组求top值,下面介绍一下使用sparkSql分组求top1.首先准备源数据datasetMarket=spark.read.parquet("basePath").select("学校", "班级","成绩")2.创建临时视图在获取源数据之后,对数据创建临时视图,格式如下:datasetMarket.createTempView("groupTop")3.核心语句,分组top值spark.sql(select "学校, 班级,成绩 fro原创 2020-08-28 15:08:15 · 1244 阅读 · 0 评论 -
spark分组求top值JAVA版本
在工作中我们常常会遇到在一堆数据中求top值的问题,也会遇到分组求top值的现象,分组如何求解呢?这时候我们可以借助窗口函数进行实现,在spark中使用row_number进行实现。本文的实现使用的是java版本实现,并不是使用spark sql实现的,因为使用spark sql实现需要使用临时视图,比较麻烦,下次补充spark sql版本。原始数据datasetMarket=spark.read.parquet("basePath").select("学校", "班级","成绩")1.首先对要进行原创 2020-08-27 14:51:00 · 481 阅读 · 1 评论 -
Exception in thread main java.lang.NoClassDefFoundError: org.apache.spark.sql.SparkSession
在运行程序的过程中报了A JNI error has occurred, please check your installation and try again错误,具体异常信息如下图所示:从异常中看到是无法找到sparkSession类,但是我在maven中已经引入了该依赖,却依然出现异常,这个时候可以查看pom文件引入的依赖中scope标签中的内容,其中scope标签中对应的参数有如下几种:1.compile默认的scope,表示 dependency 都可以在生命周期中使用。而且,.原创 2020-05-19 17:12:44 · 1141 阅读 · 0 评论 -
报错No implicits found for parameter evidence$6: Encoder
记录一个在写spark项目的时候碰到的一个问题No implicits found for parameter evidence$6: Encoder这个问题的实质就是我们需要对当下类型的变量进行map操作,但是此时出现的问题是不能进行map操作,本人的解决办法是,在相关的变量语句之前添加一行导入操作便能解决问题,导入语句为:import spark.implicits._这样操作之后便能够继续使用map操作了。...原创 2020-05-13 09:48:44 · 2528 阅读 · 0 评论 -
初始spark(四)之spark存储管理
我们在使用spark进行数据相关的操作的时候,经常会用到的是RDD,但是我们也都知道RDD是一个抽象的数据集,并不是真正的数据存储的地方,RDD使我们对数据的操作更方便,其实RDD的出现避免了我们对数据存储底部的接触,可以更方便的编写我们的应用。其实数据的存储都是由spark的存储管理模块实现和管理的。spark存储管理模块的整体架构:从架构上可以将存储架构管理模块分为通信层和存储层两个部分。...原创 2020-04-29 15:44:02 · 258 阅读 · 0 评论 -
初始spark(三)之宽窄依赖以及stage的划分
一:宽窄依赖的概念提起spark中涉及到的RDD,那么我们也会很容易的想到的问题是,RDD的一系列操作转化操作,转化操作其实就是将一个RDD转化为另一个RDD,那么在产生新的RDD和旧的RDD的关系就属于依赖关系,而RDD之间的依赖关系可以分为宽依赖和窄依赖两种依赖关系。窄依赖:具体的含义是指父RDD和子RDD之间的partition之间属于一对一的关系。也可以认为一个父RDD的parti...原创 2020-04-23 17:30:16 · 532 阅读 · 0 评论 -
初始spark(二)之RDD
我们都知道spark是能够并行的计算,并且是基于内存的,这大大的提升了计算的效率,spark在进行计算的时候,需要借助于SparkContext(驱动程序器),将数据分散到集群中,并在节点中并行的开启计算,最终再将计算的结果进行汇总。一:RDD提到数据计算,不得不提到spark中的一个重要的概念,那就是RDD(弹性分布式数据集),从名称来看便知RDD是分布在集群中的,spark计算主要是针...原创 2020-04-10 15:23:39 · 307 阅读 · 0 评论 -
初始spark(一)
spark定义: spark是一个实现快速通用的集群计算平台。通用内存并行计算框架,主要用来构建大型的、低延迟的数据分析应用程序。spark优点: 使用spark肯定有其特别之处,spark在计算数据的时候与MapReduce相比,spark的计算是基于内存的,并可以依赖内存机型复杂的计算,这在计算的速度上有大的提升,相比较MapReduce有很大的性能...原创 2020-04-10 15:18:39 · 132 阅读 · 0 评论