spark
SDUTyangkun
这个作者很懒,什么都没留下…
展开
-
scala 读取配置文件
scala 读取配置文件package com.bupt.gmall2020.realtime.utilimport java.io.InputStreamReaderimport java.util.Propertiesimport org.apache.kafka.common.serialization.StringDeserializer/** * @author yangkun * @date 2021/2/1 14:24 * @version 1.0 */object原创 2021-02-06 20:06:59 · 794 阅读 · 1 评论 -
sparkStreaming 之 kafka源
1、recevie模式0.8版本之前有这中模式,1.0后取消了这种模式package day10import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.kafka.KafkaUtilsimport org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache原创 2020-11-07 13:34:59 · 194 阅读 · 0 评论 -
spark sql项目实战(spark sql操作hive表)
各区域热门商品Top31、需求分析这里的热门商品是从点击量的维度来看的,计算各个区域前三大热门商品,并备注上每个商品在主要城市中的分布比例,超过两个城市用其他显示。例如:地区 商品名称 点击次数 城市备注华北 商品A 100000 北京21.2%,天津13.2%,其他65.6%华北 商品P 80200 北京63.0%,太原10%,其他27.0%华北 商品M 40000 北京63.0%,太原10%,其他27.0%东北 商品J 92000 大连28%,辽宁17.0%,其他 55.0%2、思路分原创 2020-10-31 20:57:41 · 1280 阅读 · 0 评论 -
spark 读取hive表
idea 通过spark sql代码操作hive表1、依赖pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0原创 2020-10-31 20:42:27 · 1218 阅读 · 1 评论 -
spark-sql 写入mysql
package day09import java.util.Propertiesimport org.apache.spark.SparkConfimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.execution.datasources.jdbc.JDBCOptionsimport org.apache.spark.sql.{DataFrame, Dataset, SaveMode, SparkSession}/**原创 2020-10-29 10:07:09 · 293 阅读 · 0 评论 -
spark sql 从mysql读数据
package day09import java.util.Propertiesimport org.apache.spark.SparkConfimport org.apache.spark.sql.{DataFrame, SparkSession}/** * @author yangkun * @date 2020/10/29 9:24 * @version 1.0 */object Spark01_SQL_MySQL { def main(args: Array[Strin原创 2020-10-29 09:50:01 · 177 阅读 · 0 评论 -
spark:Top10热门品类中每个品类的Top10活跃Session统计
来自尚硅谷教程需求描述对于排名前10的品类,分别获取每个品类点击次数排名前10的sessionId。(注意: 这里我们只关注点击次数,不关心下单和支付次数)这个就是说,对于top10的品类,每一个都要获取对它点击次数排名前10的sessionId。这个功能,可以让我们看到,对某个用户群体最感兴趣的品类,各个品类最感兴趣最典型的用户的session的行为。分析思路 通过需求1,获取TopN热门品类的id 将原始数据进行过滤(1.保留热门品类 2.只保留点击操作) 对session的点击数原创 2020-10-25 21:08:29 · 956 阅读 · 0 评论 -
spark之热门商品TopN
需求 TopN来自尚硅谷视频案例需求说明:品类是指产品的分类,大型电商网站品类分多级,咱们的项目中品类只有一级,不同的公司可能对热门的定义不一样。我们按照每个品类的点击、下单、支付的量来统计热门品类。鞋 点击数 下单数 支付数衣服 点击数 下单数 支付数生活用品 点击数 下单数 支付数例如,综合排名=点击数20%+下单数30%+支付数*50%本项目需求优化为:先按照点击数排名,靠前的就排名高;如果点击数相同,再比较下单数;下单数再相同,就比较支付数。分别统计每个品类点击的次数,下原创 2020-10-21 22:00:40 · 496 阅读 · 0 评论 -
spark 之 广播变量
spark 之 广播变量广播变量:分布式共享只读变量。在多个并行操作中(Executor)使用同一个变量,Spark默认会为每个任务(Task)分别发送,这样如果共享比较大的对象,会占用很大工作节点的内存。广播变量用来高效分发较大的对象。向所有工作节点发送一个较大的只读值,以供一个或多个Spark操作使用。比如,如果你的应用需要向所有节点发送一个较大的只读查询表,甚至是机器学习算法中的一个很大的特征向量,广播变量用起来都很顺手。1)使用广播变量步骤:(1)通过对一个类型T的对象调用SparkCon原创 2020-10-20 22:03:37 · 410 阅读 · 0 评论 -
spark 累加器
累加器累加器:分布式共享只写变量。(Task和Task之间不能读数据)累加器用来对信息进行聚合,通常在向Spark传递函数时,比如使用map()函数或者用 filter()传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值也不会影响驱动器中的对应变量。如果我们想实现所有分片处理时更新共享变量的功能,那么累加器可以实现我们想要的效果。系统累加器package com.bupt.day06import org.apache.spark.原创 2020-10-20 21:23:25 · 281 阅读 · 0 评论 -
RDD实战电影点评系统案例
下面的案例中使用的是用户观看电影和点评电影的行为数据,数据来源与网络上的公开数据共有三个数据文件。users.datUserID::Gender::Age::Occupation::Zip-coderatings.datUserID::MovieID::Rating::Timestampmovies.datMovieID::Title::Genrespackage chapte...原创 2019-12-03 15:22:48 · 655 阅读 · 0 评论 -
spark读取Hbase
方式一package com.bupt.spark.hbase.readhbaseimport org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop.hbase.io.ImmutableBytesWritableimport org.apache.hadoop.hbase.mapreduce.{TableIn...原创 2019-10-21 13:34:49 · 451 阅读 · 0 评论 -
spark写入Hbase
方式一:package com.bupt.spark.hbase//1 table putimport org.apache.hadoop.conf.Configurationimport org.apache.hadoop.hbase._import org.apache.hadoop.hbase.client._import org.apache.hadoop.hbase.util...原创 2019-10-20 16:23:26 · 238 阅读 · 0 评论 -
reducByKey总结
reducByKey总结在进行Spark开发算法时,最有用的一个函数就是reduceByKey。reduceByKey的作用对像是(key, value)形式的rdd,而reduce有减少、压缩之意,reduceByKey的作用就是对相同key的数据进行处理,最终每个key只保留一条记录。保留一条记录通常有两种结果。一种是只保留我们希望的信息,比如每个key出现的次数。第二种是把value聚...原创 2019-10-06 15:58:35 · 448 阅读 · 0 评论 -
RDD中的函数传递(序列化问题)
RDD中的函数传递(序列化问题)在实际开发中我们往往需要自己定义一些对于RDD的操作,那么此时需要主要的是,初始化工作是在Driver端进行的,而实际运行程序是在Executor端进行的,这就涉及到了跨进程通信,是需要序列化的。下面我们看几个例子:2.5.1 传递一个方法package com.atguiguimport org.apache.spark.{SparkConf, Spar...原创 2019-10-06 15:57:50 · 478 阅读 · 0 评论 -
第5章 RDD编程进阶
第5章 RDD编程进阶5.1 累加器累加器用来对信息进行聚合,通常在向 Spark 传递函数时,比如使用 map() 函数或者用 filter() 传条件时,可以使用驱 动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本, 更新这些副本的值也不会影响驱动器中的对应变量。 如果我们想实现所有分片处理时更新共享变量的功能,那么累加器可以实现我们想要的效果。5.1.1 系...原创 2019-10-06 15:57:14 · 175 阅读 · 0 评论 -
RDD算子练习
RDD算子练习文件格式:TS province city userid adid 时间戳 省份 城市 用户 广告需求: 统计每一个省点击的TOP3的广告package com.atguigu.praticeimport org.apache.hadoop.conf.Configurationimport org.apache.spark.{SparkConf, Spark...原创 2019-10-06 15:56:30 · 301 阅读 · 0 评论 -
RDD行动算子
RDD行动算子2.4.1 reduce(func)案例作用:通过func函数聚集RDD中的所有元素,先聚合分区内数据,再聚合分区间数据。需求:创建一个RDD,将所有元素聚合得到结果。(1)创建一个RDD[Int]scala> val rdd1 = sc.makeRDD(1 to 10,2)rdd1: org.apache.spark.rdd.RDD[Int] = Parall...原创 2019-10-06 15:54:35 · 592 阅读 · 0 评论