随笔分类 -  sparkcore

摘要:mapreduce依赖 <properties> <hadoop.version>2.8.5</hadoop.version> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifa 阅读全文
posted @ 2022-08-30 08:23 jsqup 阅读(509) 评论(0) 推荐(0) 编辑
摘要:题目: /** * 统计每个省份的用户访问量,最终要求将不同省份用户访问量存放到不同的分区中 分区存放规则如下 * 省份是以包含 山 0 * 如果省份包含 海 1 * 其他省份 2 */ 代码: package sparkcorerddexample import org.apache.spark. 阅读全文
posted @ 2022-08-27 12:09 jsqup 阅读(88) 评论(0) 推荐(0) 编辑
摘要:题目描述: /** * 清洗完成的数据中包含一个用户的响应状态码,获取每一种状态码对应的访问量 * 1、读取清洗完成的数据成为RDD[String] * 2、可以把上一步得到的RDD通过map算子转换成一个键值对类型的RDD,以状态码为key 以不同用户的访问日志为value的数据 * 3、键值对类 阅读全文
posted @ 2022-08-27 11:20 jsqup 阅读(20) 评论(0) 推荐(0) 编辑
摘要:![](https://img2022.cnblogs.com/blog/2487693/202208/2487693-20220825221328631-981642277.png) 阅读全文
posted @ 2022-08-25 22:14 jsqup 阅读(5) 评论(0) 推荐(0) 编辑
摘要:1. 要求 1. 过去用户的行为日志数据中响应状态码大于等于400的数据 2. 并且需要查看一下合法的数据有多少条,不合法的数据有多少条 3. 将处理完成的结果保存到HDFS分布式文件存储系统上 2. 代码:使用自带累加器 /* 180.153.11.130 - - 2018-03-18 11:42 阅读全文
posted @ 2022-08-25 18:40 jsqup 阅读(121) 评论(0) 推荐(0) 编辑
摘要:1. 创建RDD数据集 1. 从现有的Scala集合创建RDD数据集 parallelize(Seq, numSlices): 定义: Seq:Array或者List numSlices:代表创建的RDD的分区数,如果没传递,有一个默认值,默认分区就是spark.default.parallelis 阅读全文
posted @ 2022-08-25 18:40 jsqup 阅读(109) 评论(0) 推荐(0) 编辑
摘要:广播变量有个要求,广播变量是只读的,分区中只能获取广播变量的值,无法更改广播变量的值 优势:节省了磁盘io,数据量越大,效果越明显 使用:直接通过广播变量的.value函数获取广播变量的值 案例 package videovar import org.apache.spark.rdd.RDD imp 阅读全文
posted @ 2022-08-25 10:55 jsqup 阅读(60) 评论(0) 推荐(0) 编辑
摘要:【注意】: 如果要使用Spark自带的Long类型的累加器,直接sc.longAccumulator()获取使用即可,底层累加器会自动注册 但是如果我们想要使用自定义累加器,必须通过SparkContext的register(累加器对象名)显示注册才能使用,否则累加器不生效 累加器对于分区,只写不读 阅读全文
posted @ 2022-08-24 20:12 jsqup 阅读(23) 评论(0) 推荐(0) 编辑
摘要:HighWordCountAccumulator.scala package accumulator import org.apache.spark.util.AccumulatorV2 import scala.collection.mutable /* 继承AccumulatorV2类, 传递两 阅读全文
posted @ 2022-08-24 20:02 jsqup 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1.累加器 object AccCode { def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setMaster("local[2]").setAppName("sum") val sc = new Sp 阅读全文
posted @ 2022-08-24 20:00 jsqup 阅读(102) 评论(0) 推荐(0) 编辑
摘要:分区器只有键值对类型的RDD才可以使用分区器去定义分区规则,非键值对类型RDD也有分区,但是数值类型的rdd是均匀分区的,不可把控的 1. HashPartitioner 定义:HashPartitioner 按照key值的hashcode的不同 分到不同分区里面 弊端:可能会造成数据倾斜问题(每一 阅读全文
posted @ 2022-08-24 18:00 jsqup 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1. countByKey 定义:countByKey():scala.collection.Map(K,Long)按照key值计算每一个key出现的总次数 案例: val rdd:RDD[(String,Int)] = sc.makeRDD(Array(("zs",60),("zs",70),(" 阅读全文
posted @ 2022-08-24 17:45 jsqup 阅读(19) 评论(0) 推荐(0) 编辑
摘要:定义:combineByKey(createCombiner,mergePart,mergerbine ) combineByKey需要传递三个参数(函数) 1、createCombiner函数 将相同key值的某一个value数据进行一个函数操作,得到一个新的value数据 零值(新的value数 阅读全文
posted @ 2022-08-24 14:41 jsqup 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1. sortByKey 定义:sortByKey([ascending], [numPartitions]) 解释:按照key值对RDD进行排序,返回一个排序完成RDD ascending: boolean(true:升序 false:降序) numPartitions: 分区个数 案例: def 阅读全文
posted @ 2022-08-24 14:09 jsqup 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1. groupByKey 定义:groupByKey([numPartitions])、 解释:只对键值对类型RDD生效,同时返回的是一个新的RDD[(key,Iterator[Value])] 案例: def groupByKeyOper(sc: SparkContext): Unit = { 阅读全文
posted @ 2022-08-24 08:44 jsqup 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1.行动算子介绍 返回的不是一个RDD,而是一个数据值或者集合或者是没有返回 没有行动算子算法,那么无法实现转换算子的执行 2.reduce(fun):T 聚合算子 定义:fun函数类型如下 (T,T)=>T T是RDD的数据集数据的类型 将原先RDD数据集中聚合起来算一个总的结果 sum/coun 阅读全文
posted @ 2022-08-23 23:10 jsqup 阅读(130) 评论(0) 推荐(0) 编辑
摘要:1.map算子 定义: map(fun)函数 解释: 将RDD的每一个元素通过fun函数计算得到一个新的结果,新的结果我们会组合成为一个新的RDD 特别注意:一对一场景下,RDD的每一条数据对应新的RDD的中一条数据 案例: def mapOper(sc: SparkContext): Unit = 阅读全文
posted @ 2022-08-23 19:47 jsqup 阅读(30) 评论(0) 推荐(0) 编辑
摘要:1.启动spark命令 1. start-dfs.sh 2. start-yarn.sh 3. start-spark-all.sh 4. start-history-server.sh 5. spark-shell --master spark://node1:7077 阅读全文
posted @ 2022-08-23 15:23 jsqup 阅读(147) 评论(0) 推荐(0) 编辑
摘要:1. 本地 spark-submit --class org.apache.spark.examples.SparkPi --master local[2] /opt/app/spark-2.3.1/examples/jars/spark-examples_2.11-2.3.1.jar 100 2. 阅读全文
posted @ 2022-08-19 16:44 jsqup 阅读(9) 评论(0) 推荐(0) 编辑
摘要:spark关联hadoop的环境 [root@node1 conf]# pwd /opt/app/spark-2.3.1/conf [root@node1 conf]# vi spark-env.sh HADOOP_CONF_DIR=/opt/app/hadoop-2.8.5/etc/hadoop 阅读全文
posted @ 2022-08-19 12:12 jsqup 阅读(33) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示