- 博客(139)
- 资源 (9)
- 收藏
- 关注
原创 spark学习笔记(十)——sparkSQL核心编程-自定义函数UDF、UDAF/读取保存数据/五大数据类型
用户可以通过spark.udf功能添加自定义函数,实现自定义功能。SparkSQL提供了通用的保存数据和读取数据的方式;通用指的是使用相同的API根据不同的参数读取和保存不同格式的数据,SparkSQL默认读取和保存的文件格式是parquet。数据类型:csv、format、jdbc、json、load、option、options、orc、parquet、schema、table、text、textFile......
2022-08-10 11:31:47
1853
1
原创 spark学习笔记(九)——sparkSQL核心编程-DataFrame/DataSet/DF、DS、RDD三者之间的转换关系
前言前言Spark SQL可以理解为Spark Core的一种封装,在模型上和上下文环境对象上进行了封装;:用于Spark自己提供的SQL查询;:用于连接Hive的查询。:是Spark最新的SQL查询起始点,是SQLContext和HiveContext的组合,在 SQLContex和HiveContext上可用的API在SparkSession上同样是可以使用的。注:Spark Core首先构建上下文环境对象SparkContext才可以执行应用程序,sparkSQL和spark core类似。.....
2022-08-09 10:04:47
1875
原创 spark学习笔记(八)——sparkSQL概述-定义/特点/DataFrame/DataSet
sparkSQL是spark用于结构化数据处理的spark模块。
2022-08-08 09:36:45
419
原创 spark:页面单跳转换率统计(案例)
如果用户在一次Session过程中访问的页面路径为3,9,10,那么页面3跳到页面9叫一次单跳,单跳转化率就是统计页面点击的概率。如计算3-9的单跳转化率,先获取符合条件的Session对于页面3的访问次数A,然后获取符合条件的Session中访问页面3又接着访问页面9的次数B,那么B/A就是3-9的页面单跳转化率。根据这个指标可以去尝试分析整个网站,产品,各个页面的表现,及时作出更改。.........
2022-07-31 18:04:35
997
原创 spark:热门品类中每个品类活跃的SessionID统计TOP10(案例)
session服务器为了保存用户状态而创建的一个特殊的对象。浏览器第一次访问服务器时,服务器创建一个session对象,该对象有一个唯一的id,一般称之为sessionId,服务器会将sessionId以cookie的方式发送给浏览器。当浏览器再次访问服务器时,会将sessionId发送过来,服务器依据sessionId就可以找到对应的session对象。sessionID用来判断是同一次会话。服务器端的session只要还在同一个生命期内就还是同一次会话。...
2022-07-31 17:36:39
558
原创 spark:商品热门品类TOP10统计(案例)
品类是指产品的分类,大型电商网站品类分多级,一般为三级分类,此次项目中品类只有一级。不同的公司对热门的定义不一样。此次按照每个品类的点击---->下单---->支付的量来统计热门品类。先按照点击数排名,数量决定排名;点击数相同,比较下单数;下单数相同,比较支付数。...
2022-07-31 17:07:22
2450
2
原创 spark学习笔记(七)——sparkcore核心编程-RDD序列化/依赖关系/持久化/分区器/累加器/广播变量
Unit={//TODO创建环境//TODO累加器——自定义累加器))//累加器//创建累加器对象//向spark进行注册word=>{})//TODO关闭环境sc.stop()}*自定义累加器*1.继承AccumulatorV2,设置泛型*2.重写累加器的抽象方法*/Long]]{varmap//累加器是否为初始状态}//复制累加器}//重置累加器Unit={}//向累加器中增加数据(In)String)...
2022-07-27 14:09:45
915
原创 spark:地区广告点击量排行统计(小案例)
1)获得高点击率后就可以收取一部分广告收入,当然你的内容粘性越大,广告收入越高;注可以获得客户资料和数据,分析客户的需求,进行定制性服务,让客户更满意;2022-5-3-221930浙江城市6大笨蛋广告1。时间、省份、城市、用户、广告中间字段使用空格分隔。通过分析,平台可以增加内容与服务,更改结构和工作流程。(3)获取无形资产网站知名度,客户资料,客户数据。统计每个省份每个广告被点击数排行的Top5。(2)商业网站更重要的是能够获得信息资产;如下图,作者懒,不想做文字解释。...
2022-07-25 23:59:50
653
原创 spark学习笔记(四)——sparkcore核心编程-RDD
RDD(ResilientDistributedDataset)叫做弹性分布式数据集,是Spark中最基本的数据处理模型。它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。RDD特点(1)弹性;1)存储的弹性内存与磁盘的自动切换;2)容错的弹性数据丢失可以自动恢复;3)计算的弹性计算出错重试机制;4)分片的弹性可根据需要重新分片。(2)不可变RDD封装了计算逻辑,是不可以改变的;想要改变,只能产生新的RDD;(3)分布式数据存储在集群不同节点上;......
2022-07-25 13:07:28
455
原创 spark学习笔记(六)——sparkcore核心编程-RDD行动算子
函数签名defaggregate[UClassTag](zeroValueU)(seqOp(U,T)=>U,combOp(U,U)=>U)U。函数签名deffold(zeroValueT)(op(T,T)=>T)T。函数说明分区的数据通过初始值和分区内的数据进行聚合,然后再和初始值进行分区间的数据聚合。函数签名defreduce(f(T,T)=>T)T。函数签名deftake(numInt)Array[T]...
2022-07-25 12:55:03
618
原创 spark学习笔记(五)——sparkcore核心编程-RDD转换算子
RDD转换对RDD功能的补充和封装,将旧的RDD包装成为新的RDD;RDD行动触发任务的调度和作业的执行。RDD根据数据处理方式的不同将算子整体上分为Value类型、双Value类型和Key-Value类型。
2022-07-24 18:50:00
996
原创 spark:计算不同分区中相同key的平均值(入门级-简单实现)
计算不同分区中相同key的平均值。combineByKey实现、aggregateByKey实现。
2022-07-24 17:53:33
441
原创 spark:获取日志中每个时间段的访问量(入门级-简单实现)
以一小时为时间段获取日志中每个时间段的访问量,结果打印在控制台。下面是代码,日志文件自己找。
2022-07-24 09:17:47
497
原创 spark学习笔记(三)——sparkcore基础知识
ApplicationMaster用于向资源调度器申请执行任务的资源容器Container,,监控整个任务的执行,跟踪整个任务的状态,处理任务失败等异常情况。sparkstreaming提供了丰富的处理数据流的API。(9)执行main函数,执行Action算子(Action。(9)执行main函数,执行Action算子(Action。是一个进程,主要负责资源的调度和分配,进行集群监控等;(6)ApplicationMaster在指定的。(6)ApplicationMaster在指定的。......
2022-07-22 11:07:24
1014
原创 shell学习笔记(六)——实战一:脚本编写
启动jar脚本,flume的conf文件启停脚本,rsync的分发脚本,jps群起脚本,zookeeper群起脚本,kafka群起脚本。
2022-07-21 17:52:02
313
原创 spark学习笔记(二)——sparkcore-IO(input&output)流(字节流、字符流、缓冲流)
IO字节流&缓冲流&字符流流流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序列或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。IO流就是以流的方式进行输入输出。......
2022-07-21 17:25:10
492
原创 spark学习笔记(一)——sparkcore模拟分布式计算
-声明绑定到maven的compile阶段-->启动顺序executer1----->executer2------>driver。--该插件用于把Scala代码编译成为class文件-->查看executer1和executer2。
2022-07-20 15:45:24
415
原创 shell编程学习笔记(五)——函数/传递参数/重定向/文件包含
本文仅仅是学习笔记!shell可以定义函数,在shell脚本中可以随便调用。格式: 注:(1)可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。(2)return: 返回,不加将以最后一条命令运行结果作为返回值; return后跟数值n(0-255)。例: 注:(1)$? :获得函数返回值;(2)函数放在脚本开始部分,shell解释器首次发现它时,才可使用;(3)使用函数名调用函数。调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值。 注
2022-07-11 16:47:51
341
原创 shell编程学习笔记(四)——if/if else/for/while/until/case...seac
语法格式:注:condition 一般为条件表达式。语法格式:语法格式:if else 的 [...] 判断语句中大于使用 -gt,小于使用 -lt。 if else如果使用 ((...)) 作为判断语句,大于和小于可以直接使用 > 和
2022-07-11 15:17:45
352
原创 shell编程学习笔记(三)——echo命令/printf命令/printf转义序列
本文仅仅是个人学习笔记的记录!目录shell echo命令Shell printf 命令printf的转义序列用于字符串的输出(1)显示普通字符串 (2)显示转义字符串 (3)显示变量 (4)显示换行(5)显示不换行(6)显示结果定向到文件 (7)原样输出字符串 (8)显示命令执行结果printf 命令模仿 C 程序的 printf() 程序。使用 printf 的脚本比使用 echo 移植性好。printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的
2022-07-10 23:46:24
823
原创 shell编程学习笔记(二)——传递参数/基本运算符/
本文仅仅是个人学习笔记的记录!目录shell传递参数shell基本运算符算术运算符关系运算符布尔运算符逻辑运算符字符串运算符文件测试运算符在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推注:$0 为执行的文件名: 以下是特殊字符用来处理参数Shell 支持多种运算符:(1)算数运算符(2)关系运算符(3)布尔运算符(4)字符串运算符(5)文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他
2022-07-10 21:41:08
558
原创 shell编程学习笔记(一)——入门/变量/字符串/数组/注释
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 脚本,是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本。打开文本编辑器 vi/vim ,新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行。输入代码:注:#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序,它告诉系统这个脚本需要什么解释器来执行。echo 命令用
2022-07-10 16:23:37
630
原创 springboot+mybatis+echarts +mysql制作数据可视化大屏
成果展示:1)可以使用自己的MySQL数据库;2)使用我提供的数据。(免费下载)gmall_report用于可视化的SQL文件-MySQL文档类资源-CSDN下载MySQLIDEAjdk1.8Maven创建springboot项目有二种方式:1)在IDEA中创建2)在官网上创建我喜欢在官网创建官网地址(记得收藏):https://start.spring.io/ 注:1)注意红色框框的地方,选择你想要的版本和与你的计算机相应的配置;2)在1.处点击添加相关依赖;3)在2.处点击生成初始代码并下载。下面给出
2022-07-08 19:35:07
12793
304
原创 大数据项目离线数仓(全)四(可视化代码版)
来咯来咯!你们要的可视化代码版来咯来咯!本文仅仅包含可视化的代码版,本项目的其他内容请关注我的博客!在专栏里!!!目录一、所需工具二、数据源准备三、项目框架搭建3.1新建springboot项目3.1.1进入官网3.1.2创建项目四、后端代码编写4.1根据需求修改pom.xml4.2配置数据源4.3创建目录结构4.4后端编写代码4.4.1entity类4.4.2dao4.4.3service4.4.4controller4.5测试五、前端代码编写5.1准备5.2创建包 5.3代码编写5.3.1配置静....
2022-07-07 15:29:48
1345
15
原创 sqoop导出数据到MySQL
本文承接我的《大数据项目离线数仓》把ODS层的数据导出到MySQL,用于可视化的制作。《大数据项目离线数仓》的其它文章在我的专栏《项目》中。目录1.1创建MySQL数据库1.2创建MySQL表1.3sqoop导出脚本创建gmall_report数据库1.2创建MySQL表创建表(mysql表和ADS中的表同步,但不需要全部创建,根据自己的可视化内容创建)下面给出我的一些mysql表:###创建用户主题表###创建地区主题表###创建活跃设备数表###创建漏斗分析表###创建
2022-07-07 13:08:49
2769
原创 Hbase学习笔记二(增删改查&过滤器)
本文仅仅是个人的学习笔记记录!目录创建表增删改查过滤器行键过滤器列族与列过滤器值过滤器其他过滤器创建数据库表的命令:create '表名', '列族名1','列族名2','列族名N'增增加数据:put‘表名’, ‘rowKey’, ‘列族 : 列’ , '值'删删除某个记录:delete‘表名’,‘行名’,‘列族:列'删除整行记录:deleteall '表名','rowkey'清空表中所有的记录:truncate '表名'删除表,先要屏蔽该表,才能对该表进行删除:
2022-06-17 09:19:25
1124
原创 Hbase学习笔记一(理论&定义)
本文仅仅是个人学习笔记的记录!目录1. 定义2.Hbase的发展历史3.关系型数据库的不足3.1无法适应多变的数据结构3.2高并发读写的瓶颈3.3可扩展性的限制4.HBase的特点5.使用场景6.rowkey设计原则6.1 rowkey长度原则6.2 rowkey散列原则6.3 rowkey的唯一原则7.查询方式8.Hbase的cell结构9.Hbase的读写流程9.1 HBase的读流程:9.2 HBase的写流程:10.Hbase的结构:10.1 HMaster:10.2 HRegionServer:1
2022-06-16 17:25:08
640
原创 Apriori算法和FP-growth算法伪代码
来源于《数据挖掘概念与技术》输入:事务数据库D;最小支持度阈值。输出:D中的频繁项集L。方法: L1 = find_frequent_1_itemsets(D); //找出频繁1-项集的集合L1 for(k = 2; Lk-1 ≠ ∅; k++) { //产生候选,并剪枝 Ck = aproiri_gen(Lk-1,min_sup); for each transaction t∈D{ //扫描D进行候选计数 Ct = subset(Ck,t
2022-06-14 16:14:58
746
原创 Fp-growth算法python实现(数据挖掘学习笔记)
# -*- coding: utf-8 -*-from tqdm import tqdmimport timeimport psutilimport osdef load_data(): # 根据路径加载数据集 ans = [] # 将数据保存到该数组 reader = [ ['M', 'O', 'N', 'K', 'E', 'Y'], ['D', 'O', 'N', 'K', 'E', 'Y'], ['M', '.......
2022-06-14 16:04:11
3931
1
原创 Apriori算法python实现(数据挖掘学习笔记)
import itertoolsimport timeimport psutilimport osdef item(dataset): # 求第一次扫描数据库后的 候选集,(它没法加入循环) c1 = [] # 存放候选集元素 for x in dataset: # 就是求这个数据库中出现了几个元素,然后返回 for y in x: if [y] not in c1: c1.appen......
2022-06-14 14:52:17
4574
3
原创 大数据项目离线数仓(全)三(可视化工具版)
本文仅仅包含可视化的工具版,其他内容请关注我的博客!在专栏里!!!本篇文章参考尚硅谷大数据项目写成!可视化的代码版后期更新!敬请期待!!!目录工具可视化(superset)介绍:一、安装准备1.1安装Miniconda二、安装配置2.1安装Miniconda2.2安装python3.6环境 2.3配置superset2.4启动superset三、superset制作可视化3.1数据源配置 3.2 制作仪表盘 3.3创建图表 3.4整体可视化配置信息完成样式Superset概述Apache Super....
2022-06-03 23:53:11
1558
1
原创 一把辛酸泪-----DataNode假活
记录一下历时四天的Hadoop改错历程!本人hadoop使用的版本是hadoop-3.1.3的高可用(HA)目录问题描述:发现问题:问题原因:解决:从错节点jps查看进程显示正常,DataNode和NodeManager都存在的,但是运行程序的时候会报奇奇怪怪的错误,下面是会报的错误: ERROR tool.ExportTool: Encountered IOException running export job: java.net.ConnectException: Call From hadoop01
2022-06-02 17:39:55
648
1
原创 Azkaban的安装部署
介绍:Azkaban 是个简单的批处理调度器,用来构建和运行Hadoop作业或其他脱机过程。整体包括三部分webserver、dbserver、executorserver。 Azkaban是由Linkedin开源的一个Java项目,批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。 Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。Azkaban的功能特点1.兼容所有版本的 Had...
2022-05-28 12:18:37
4389
原创 大数据项目离线数仓(全 )二(数仓系统)
一、数据仓库系统1.1基础概念3.1.1数据分层的好处1.把复杂问题简单化,将复杂的任务分解成多层来完成,每一层只处理简单任务,方便定位问题。2.减少重复开发,规范数据分层,通过中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。3.隔离原始数据:不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开。3.1.2数据分层ODS:原始数据层,存放原始数据,直接加载原始日志、数据,数据保持原貌不做处理。DWD:对ODS层数据进行清洗(去除空值,脏数据,超过极限范围
2022-05-28 09:25:34
3134
1
原创 数据仓库搭建ADS层
本篇只是ADS层,其他内容请关注我的博客!在<项目>专栏里!!!本篇文章参考尚硅谷大数据项目写成!搭建ADS层ADS层不涉及建模,建表根据具体需求而定。一、设备主题1.1活跃设备数(日、周、月)需求定义:日活:当日活跃的设备数周活:当周活跃的设备数月活:当月活跃的设备数1)建表语句create external table ads_uv_count( `dt` string COMMENT '统计日期', `day_count...
2022-05-27 21:12:43
3994
原创 数据仓库搭建DWT层
本篇只是DWT层,其他内容请关注我的博客!在<项目>专栏里!!!本篇文章参考尚硅谷大数据项目写成!目录一、DWT层1.设备主题宽表2.会员主题宽表3.商品主题宽表4.活动主题宽表5.地区主题宽表二、数据导入脚本一、DWT层1.设备主题宽表1)建表语句create external table dwt_uv_topic( `mid_id` string comment '设备id', `brand` string
2022-05-27 11:39:01
1170
原创 数据仓库搭建DWS层
本篇只是DWS层,其他内容请关注我的博客!在<项目>专栏里!!!本篇文章参考尚硅谷大数据项目写成!一、业务术语1)用户用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户。Android系统根据IMEI号,IOS系统根据OpenUDID来标识一个独立用户,每部手机一个用户。2)新增用户首次联网使用应用的用户。如果一个用户首次打开某APP,那这个用户定义为新增用户;卸载再安装的设备,不会被算作一次新增。新增用户包括日新增用户、周新增用户、月新增用户。
2022-05-27 10:34:14
1411
原创 数据仓库搭建DWD层
其他内容请关注我的博客!在<项目>专栏里!!!一、用户行为日志1.1日志格式页面埋点日志启动日志1.2get_json_object函数使用1.取出第一个json的值select get_json_object('[{"name":"大郎","sex":"男","age":"25"},{"name":"西门庆","sex":"男","age":"47"}]','$[0]');2.取出第一个json的age字段的值SELECT..
2022-05-26 23:05:08
1147
14万条用户行为数据,搜索、点击、下单、支付
2022-07-31
gmall_report用于可视化的SQL文件
2022-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅