自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 案例 计算店铺的月销售额和累加到当前月的销售和--SparkSql实现(SQL风格)

数据如下:shop1,2019-01-18,500shop1,2019-02-10,500shop1,2019-02-10,200shop1,2019-02-11,600shop1,2019-02-12,400shop1,2019-02-13,200shop1,2019-02-15,100shop2,2019-02-10,100shop2,2019-02-11,100shop2,2019-02-13,100shop2,2019-03-15,100shop2,2019-04-15,10

2021-01-09 18:33:29 501

原创 案例 统计用户上网流量,如果两次上网的时间小于10分钟,合并到一起 --SparkSql实现(SQL风格)

数据如下+---+-------------------+-------------------+----+| id| start_time| end_time|flow|+---+-------------------+-------------------+----+| 1|2020-02-18 14:20:30|2020-02-18 14:46:30| 20|| 1|2020-02-18 14:47:20|2020-02-18 15:20:30|

2021-01-09 18:29:38 408

原创 案例 求连续登录三天以上的用户--SparkSQL实现(DSL风格)

部分数据展示uid,dtguid01,2018-03-01guid01,2018-02-28guid01,2018-03-01guid01,2018-03-04guid01,2018-03-02guid01,2018-03-05guid01,2018-03-06guid01,2018-03-07guid02,2018-03-01guid02,2018-03-02guid02,2018-03-03guid02,2018-03-06...import org.apache.spa

2021-01-04 18:31:03 213

原创 案例 求连续登录三天以上的用户--SparkSQL实现(SQL风格)

部分数据展示uid,dtguid01,2018-03-01guid01,2018-02-28guid01,2018-03-01guid01,2018-03-04guid01,2018-03-02guid01,2018-03-05guid01,2018-03-06guid01,2018-03-07guid02,2018-03-01guid02,2018-03-02guid02,2018-03-03guid02,2018-03-06...import org.apache.spa

2021-01-04 18:18:04 238

原创 案例 根据IP地址计算归属地 spark程序广播变量实现

IP规则数据1.0.1.0|1.0.3.255|16777472|16778239|亚洲|中国|福建|福州||电信|350100|China|CN|119.306239|26.0753021.0.8.0|1.0.15.255|16779264|16781311|亚洲|中国|广东|广州||电信|440100|China|CN|113.280637|23.1251781.0.32.0|1.0.63.255|16785408|16793599|亚洲|中国|广东|广州||电信|440100|China|CN

2021-01-02 21:03:40 742

原创 案例 统计用户上网流量,如果两次上网的时间小于10分钟,合并到一起 --spark程序实现

/** * 数据分析: * uid,startTime, endTime, downFlow, lag() over , flag , sum_over * 1,2020-02-18 14:20:30,2020-02-18 14:46:30,20, 2020-02-18 14:20:30 0 0 * 1,2020-02-18 14:47:20,2020-02-18 15:20:30,30, 2020-02-18 14:46:30 0 0 * 1,2020-02-18 15:37:

2021-01-01 20:54:14 227

原创 案例 计算店铺的月销售额和累加到当前月的销售和--spark程序编写

/** * 数据: * shop1,2019-01-18,500 * shop1,2019-02-10,500 * shop1,2019-02-10,200 * shop1,2019-02-11,600 * shop1,2019-02-12,400 * shop1,2019-02-13,200 * shop1,2019-02-15,100 * shop2,2019-02-10,100 * shop2,2019-02-11,100 * shop2,2019-02-13,100 * sh

2021-01-01 20:46:54 458

原创 案例 计算连续登录3天及以上的用户--spark程序编写三种实现方式

第一种实现方式/** * guid01,2018-02-28 1 * guid01,2018-03-01 2 * guid01,2018-03-01 * guid01,2018-03-02 3 * guid01,2018-03-04 4 * guid01,2018-03-05 5 * guid01,2018-03-06 6 * guid01,2018-03-07 7 * * 思路:根据uid分组,组内按日期排序,开个窗口row_num * 日期减去row_num 得

2021-01-01 20:44:06 455

原创 spark的persist算子使用 设置Kryo序列化方式

spark的persist算子使用//设置Kryo序列化方式,占用内存小,默认使用java序列化sc.getConf.set("spark.serializer","org.apache.spark.serializer.KryoSerializer")val rdd = sc.textFile("hdfs://linux01:8020/data/teacher.log")import org.apache.spark.storage.StorageLevelrdd.persist(Storage

2020-12-28 23:19:42 252

原创 Scala编写Spark的WorkCount

1 创建一个Maven项目2 在pom.xml中添加依赖和插件<!-- 定义了一些常量 --> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <scala.version>2.1

2020-12-21 20:06:16 283

原创 clickhouse 案例 分析用户行为日志 流量分析 漏斗分析

hive端测试--hive端建表create table tb_log(log string)partitifirstd by (dt string);load data local inpath '/root/event.log' into table tb_log partition (dt='20201007');--解析json数据,并对数据进行预处理create table tb_ods_log asselectif(account='',deviceId,accoun

2020-12-08 22:07:41 1453 2

原创 clickhouse案例 连续N天登录

数据a,2017-02-05,200a,2017-02-06,300a,2017-02-07,200a,2017-02-08,400a,2017-02-10,600b,2017-02-05,200b,2017-02-06,300b,2017-02-08,200b,2017-02-09,400b,2017-02-10,600c,2017-01-31,200c,2017-02-01,300c,2017-02-02,200c,2017-02-03,400c,2017-02-10,60

2020-12-07 22:54:04 623

原创 clickhouse学习笔记(三)SummingMergeTree 数据导入方式 数组类型 导出数据 array join groupArray arrayEnumerate limit 分区表

1 SummingMergeTree将相同主键的所有的数据累加--建表,插入数据create table sum_mergetree(id Int8 ,name String ,cDate Date ,cost Float64 )engine=SummingMergeTree(cost)order by id partition by name ;insert into sum_mergetree values(1,'zss','2020-12-06',70);insert int

2020-12-07 22:12:22 1241 2

原创 clickhouse学习笔记(二)MergeTree家族引擎 集成引擎 函数

MergeTreecreate table tb_tree1(id String ,name String ,city String)engine = MergeTree primary key id order by id;插入数据insert into tb_tree1 values('id004','wb','HB'),('id005','DHT','HN'),('id006','ZXX','HLJ');insert into tb_tree1 values('id0

2020-12-05 17:26:58 996

原创 clickhouse学习笔记(一)日志引擎

启动service clickhouse-server startclickhouse-client -m– 数据库create database db_name ;use db_name ; 切换数据库 ;select currentDatabase() ;┌─currentDatabase()─┐│ db_doit19 │└───────────────────┘drop database db_doit19 ;– 建表– 数据类型Int8

2020-12-04 22:21:47 563

原创 hive hql 语句知识点笔记及练习(三)集合数据类型 reflect函数使用 自定义函数

一、集合数据类型在hive中的数据类型 :int bigint double string timestampstruct 结构体 类似于java对象array 数组map 键值对{“name”: “songsong”,“friends”: [“bingbing” , “lili”] ,“children”: {“xiao song”: 18 ,“xiaoxiao song”: 14},“address”: {“street”: “hui long guan”

2020-12-03 21:37:03 282 2

原创 hive案例 SQL题 连续登录的天数 连续命中次数 编号函数 row_numbew rank dense_rank

连续登录的天数数据如下:name login_datea,2020-11-01a,2020-11-05a,2020-11-04b,2020-11-04b,2020-11-05a,2020-11-03a,2020-11-02b,2020-11-08a,2020-11-07b,2020-11-01b,2020-11-02a,2020-11-06b,2020-11-061、创建表,导入数据create table login(name string ,login_date

2020-12-03 21:02:56 597

原创 hive3.1.2 hql 语句知识点笔记及练习(二)行转列 列转行 窗口函数

行转列行转列 将多行的数据合并到一列中collect_set -- 去重collect_list 这两个都是聚合函数 将收集的多行数据聚集成一个数组集合concat 拼接 参数是可变参数 拼接字符串concat_ws 参数一 拼接符 参数二 可变个数的字符串/数组表内容zz 处女座 Bnn 射手座 Abb 处女座 Bgg 白羊座 Atg 射手座 Acreate table tb_teacher(name string ,xz string ,xx

2020-12-02 17:52:56 363 3

原创 hive3.1.2 hql 语句知识点及练习(一)case when join 排序 分桶表

case when 和聚合函数表格内容如下:zs A 男ls A 男ss B 男fj A 女rb B 女hh B 女需求 结果如下;+--------+----+----+| dname | m | f |+--------+----+----+| A | 2 | 1 || B | 1 | 2 |+--------+----+----+--创建表create table tb_emp(name string ,dname string

2020-12-02 17:11:12 472

原创 hive3.1.2 笔记 知识点详解(三)导出数据方式 分区表

1 导出数据方式1.1export tb_name to HDFS_PATH1.2如果数据是普通的文本数据 在shell客户端使用get下载数据hdfs dfs -get /tb_name/filehive端: hive> dfs -get /文件 1.3不开启hive终端 执行SQL语句 hive -e "use dafault; select * from tb_user "; hive -e "select * from tb_user " >&g

2020-11-30 21:21:39 354

原创 hive3.1.2 笔记 知识点详解(二)内部表外部表 导入数据方式

1 内部表和外部表在hive中的表分两种1)外部表 external2)内部表 默认的 也称管理表 managertable区别详解:先创建一个表create table tb_log(id int,name string,age int,gender string)row format delimited fields terminated by ‘,’location ‘hdfs://linux01:8020/data/log/’创建一个表(管理表)c

2020-11-29 16:30:13 649

原创 hive3.1.2 笔记(一)安装 连接

一、HIVE的安装(Linux)1 、mysql数据 远程连接权限mysql -uroot -p 输入密码set global validate_password_policy=0;set global validate_password_length=1; 这个两个设置以后 密码很简单不会报错4) ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root’; 把修改密码为root5)grant all privileg

2020-11-28 23:31:11 793 2

原创 Hbase原理加强篇

hbase中的数据怎么实现修改hbase中的数据存储在hdfs中,而hdfs中的数据是不支持修改的,那hbase中的put、delete操作是怎么实现的呢?如上图,客户端进行删除操作时,会往hdfs中的hfile文件中追加数据,数据中会记录用户的操作delete,为墓碑标记(标记着数据要删除),在下次获取该数据时,会发现有两个该数据,其中一条有墓碑标记,则不会返回客户端数据。之后会将原来的数据和用户删除后生成的记录合并生成一个新的hfile文件。和hdfs不支持数据修改的时不相违背的,hba

2020-11-27 22:18:30 223

原创 Hbase读写数据流程

Hbase读写数据流程提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录Hbase读写数据流程前言写数据流程读数据流程前言学习大数据过程中记下的一些笔记提示:以下是本篇文章正文内容,下面案例可供参考写数据流程写数据流程(put为例)1、客户端请求Zookeeper插入数据put ‘a’,‘rk001’,‘cf:age’,‘21’

2020-11-26 20:12:39 217

原创 Hbase—shell端使用批量数据导入工具bulkLoad到hbase

1 静态数据如下 uid001,zss,23,F uid002,lss,13,M uid003,ww,22,M uid004,zl,34,F uid005,tq,43,M uid006,wb,55,F uid007,sj,98,M 2 在hbase中创建一张表create 'tb_imp' ,'info'3 根据数据 生成hbase文件#info:列族名 name:属性 imp:表名 /tsv/input:输入路径 /tsv/output:输出路径hbase org.

2020-11-25 23:17:16 786 3

原创 HBASED—JAVA客户端(二)

封装一个Hbase工具类public class HbaseUtils { /** * 获取数据 * @param result 行数据 */ public static void showData(Result result){ while (result.advance()){ Cell cell = result.current(); String row = Bytes.toString(

2020-11-25 23:12:10 119

原创 HBASE—JAVA客户端(一)

HbaseUtilspackage com.doit.Utils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Admin;import org.apache.hadoop.hbase.client

2020-11-25 20:16:12 255

原创 MapReduce数据倾斜解决方案——将key打散

wordcount为例以MR程序的WC为例 如果处理的数据只有四个单词 a b c da 和 c 出现的次数特别多(a/c.hashCode%2=1)–>分区 1 多b 和 d 出现的次数很少 (b/d.hashCode%2=0) -->分区0 少a c -->reduce1 a: iterator<1,1,1,1,1,1,1,1,1,1,1,1,1,1> 时间久(排序 内存)b d -->reduce0 b: iterator<1,1&

2020-11-19 20:18:07 754

原创 order和user信息拼接案例——Mapreduce实现

order.txt :order011,u001order012,u001order033,u005order034,u002order055,u003order066,u004user.txt:u001,senge,18,male,angelababyu002,ss,58,male,ruhuau003,shuaishuai,16,female,chungeu004,laoyang,28,female,zenggeu005,nana,24,female,huangbou006,d

2020-11-19 20:02:41 224

原创 求共同好友案例——mapreduce实现

文件:A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,L… …一、/** * A:B,C,D,F,E,O * B:A,C,E,K * 好友列表作为k:B-->A C-->A D-->A * A-->B C-->B E-->B * 将matask端的value(本人)添加到list集合 集合中任意两人的共同好友即为maptask的key * 再写一个MR聚合

2020-11-19 19:51:58 212

原创 电影TopN案例——mapreduce

{“movie”:“1193”,“rate”:“5”,“timeStamp”:“978300760”,“uid”:“1”}{“movie”:“661”,“rate”:“3”,“timeStamp”:“978302109”,“uid”:“1”}{“movie”:“914”,“rate”:“3”,“timeStamp”:“978301968”,“uid”:“1”}{“movie”:“3408”,“rate”:“4”,“timeStamp”:“978300275”,“uid”:“1”}… …定义一个Mo

2020-11-19 19:43:34 418 2

原创 HADOOP的JAVA客户端

HADOOP的JAVA客户端1 配置Maven仓库修改settings.xml<localRepository>D:\my_repository\repository</localRepository><mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexu

2020-11-14 20:57:18 255

原创 HADOOP-day01-HDFS安装部署

HDFS安装部署1 上传hadoop安装包链接:https://pan.baidu.com/s/1Fk7_ZsEENrolML_8VQuPoQ提取码:g22p复制这段内容后打开百度网盘手机App,操作更方便哦cd /opt/apps rz2 解压tar -zxvf hadoop-3.1.1.tar.gz3 配置vi /opt/apps/hadoop-3.1.1/etc/hadoop/hadoop-env.shexport JAVA_HOME=/opt/apps/jdk1

2020-11-13 16:43:29 145

原创 大数据之linux学习笔记day02

1、解压压缩命令tar -zcvf 1.txttar -zcvf my.tar.gz 1.txt 2.txt 打包压缩tar -zxvf my.tar.gz 解压tar -zxvf my.tar.gz -C /root/aa 解压到指定目录 -z .gzip压缩格式 -c 压缩 -x 解压 -v 显示进度 -f 必选 紧跟打包压缩的文件名2、JAVA_HOME配置1、上传jdk-8u141-linux-x64.tar.gz压缩文件 2、解压3、配置 vi /

2020-11-10 15:45:21 145 1

原创 大数据之linux学习笔记day01

1、路径绝对路径:带盘符的相对路径:相对于当前目录 ./ 当前目录 ./a.txt ./b.doc ../ 上级目录2、基本命令2.1 lsls ls ./ 查看当前目录下的文件ls -l ll 查看当前目录下的文件详细信息ls / 查看根目录下的文件2.2 cdcd /bin/ 切到根目录下的bin目录cd ../ 切到上级目录cd ~ 切到用户的目录cd -

2020-11-09 19:54:41 162 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除