自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flink学习笔记(5)——DataSteam API

/声明一个标志位@Override// 在指定的数据集中随机选取数据id=2"};));// 隔 1 秒生成一个点击事件,方便观测}}@Override}}//这种简单的自定义Source方法只可以指定并行度为1}//实现自定义的并行SourceFunction,这样可以指定更高的并行度(这里直接用静态类完成,不去重新新建一个类了)@Override}}@Override}}}93);}

2022-10-20 22:43:20 1017 2

原创 Flink学习笔记(4)——Flink运行架构

在这一章,我们在之前部署运行的基础上,深入介绍了 Flink 的系统架构和不同组件,并 进一步针对不同的部署模式详细讲述了作业提交和任务处理的流程。此外,通过展开讲解架构 中的一些重要概念,解答了 Flink 任务调度的核心问题,并对分布式流处理架构的设计做了思 考分析。本章内容不仅是 Flink 架构知识的学习,更是分布式处理思想的入门。我们可以通过 Flink这样一个经典框架的学习,触摸到分布式架构的底层原理。

2022-10-05 10:12:11 1452 1

原创 Flink学习笔记(3)——Flink部署

Flink 支持多种不同的部署模式,还可以和不同的资源管理平台方便地集成。本章从快速 启动的示例入手,接着介绍了 Flink 中几种部署模式的区别,并进一步针对不同的资源提供者 展开讲解了具体的部署操作。在这个过程中,我们不仅熟悉了 Flink 的使用方法,而且接触到 了很多内部运行原理的知识。关于 Flink 运行时组件概念的作用,以及作业提交运行的流程架构,我们会在下一章进一 步详细展开。

2022-10-03 14:08:39 1426

原创 Flink学习笔记(2)——Flink快速上手

本章主要实现一个 Flink 开发的入门程序——词频统计 WordCount。通过批处理和流处理 两种不同模式的实现,可以对 Flink 的 API 风格和编程方式有所熟悉,并且更加深刻地理解批 处理和流处理的不同。另外,通过读取有界数据(文件)和无界数据(socket 文本流)进行流 处理的比较,我们也可以更加直观地体会到 Flink 流处理的方式和特点。这是我们 Flink 长征路上的第一步,是后续学习的基础。

2022-10-01 16:11:27 1841 2

原创 Flink学习笔记(1)——初识Flink(概念)

Flink 是第三代分布式流处理器,它的功能丰富而强大。本章作为学习 Flink 的入门和综述,主要介绍了 Flink 的源起和应用,引出了流处理相关 的一些重要概念,并通过介绍数据处理架构发展演变的过程,为读者展示了 Flink 作为新一代 分布式流处理器的架构思想。最后我们还将 Flink 与时下同样火热的处理引擎 Spark 进行了对 比,详细阐述了 Flink 在流处理方面的优势。

2022-09-27 20:49:36 839 1

原创 数仓学习笔记(13)——元数据管理(Atlas)

为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能。Atlas的具体功能如下:元数据分类支持对元数据进行分类管理,例如个人信息,敏感信息等元数据检索可按照元数据类型、元数据分类进行检索,支持全文检索血缘依赖支持表到表和字段到字段之间的血缘依赖,便于进行问题回溯和影响分析等1)表与表之间的血缘依赖2)字段与字段之间的血缘依赖。

2022-09-25 20:11:59 1025

原创 数仓学习笔记(12)——集群监控(Zabbix)

Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。

2022-09-24 15:34:39 1326 1

原创 数仓学习笔记(11)——即席查询

Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

2022-09-23 21:32:24 476

原创 数仓学习笔记(10)——Superset

Apache Superset是一个开源的、现代的、轻量级BI分析工具,能够对接多种数据源、拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。

2022-09-16 21:08:17 670

原创 数仓学习笔记(9)——全流程调度(Azkaban)

Azkaban中预置了几个特殊的判断条件,称为预定义宏。预定义宏会根据所有父Job的完成情况进行判断,再决定是否执行。可用的预定义宏如下:(1)all_success: 表示父Job全部成功才执行(默认)(2)all_done:表示父Job全部完成才执行(3)all_failed:表示父Job全部失败才执行(4)one_success:表示父Job至少一个成功才执行(5)one_failed:表示父Job至少一个失败才执行1)案例需求:JobA执行一个shell脚本。

2022-09-15 20:40:33 642 1

原创 数仓学习笔记(8)——数仓搭建(ADS层)

此处要求统计新增留存率,新增留存率具体是指留存用户数与新增用户数的比值,例如2020-06-14新增100个用户,1日之后(2020-06-15)这100人中有80个人活跃了,那2020-06-14的1日留存数则为80,2020-06-14的1日留存率则为80%。该需求要求统计最近30日发布的所有优惠券的领用情况和补贴率,补贴率是指,优惠金额与使用优惠券的订单的原价金额的比值。该需求要求统计最近30日发布的所有活动的参与情况和补贴率,补贴率是指,优惠金额与参与活动的订单原价金额的比值。

2022-09-12 23:23:11 730

原创 数仓学习笔记(7)——数仓搭建(DWT层)

这里的7天前和30天前都指的是那一天的累计行为,而如果要统计最近7天或者30天的累计值,需要使用第一张表(前一天的全量累计行为)+第二张表(最新一天的累积行为)-7/30那一天的累计行为。

2022-09-11 16:25:53 450

原创 数仓学习笔记(6)——数仓搭建(DWS层)

DWS层的分区以及装载逻辑都是一致的,因此这里统一进行说明。

2022-09-10 18:27:03 440

原创 数仓学习笔记(5)——数仓搭建(DWD层)

注意:需要开始的clear_data方法是因为累计型快照的9999_99_99表里本身就是有数据的,当每日进行装载的时候,完成的数据表会加入该天的分区,而没有完成的数据就会覆盖9999_99_99表中原有的数据。但是如果碰到某些特殊情况,当该天的表数据全部被完成,那么所有的数据都会写入到该天的对应分区中,那么就不会有数据覆盖到9999_99_99的原有数据中,此时应该把9999_99_99中的数据进行手动清空,这样就不会有数据多余。,然后使用get_json_object函数解析每个字段。

2022-09-06 19:36:11 656 3

原创 数仓学习笔记(4)——数仓搭建(ODS层和DIM层)

目录一、数仓搭建-ODS层1、ODS层(用户行为数据)1.1 创建日志表ods_log1.2 Shell中单引号和双引号区别1.3 ODS层日志表加载数据脚本2、ODS层(业务数据)二、数仓搭建-DIM层1、商品维度表(全量)1.1 建表语句1.2 分区规划1.3 数据装载1.4 Hive读取索引文件问题1.5 首日装载和每日装载2、优惠卷维度表(全量)2.1 建表语句2.2 分区规划2.3 数据装载2.4 首日装载和每日装载3、活动维度表(全量)3.1 建表语句3.2 分区规划3.3 数据装载 3.4 首

2022-09-03 21:54:25 2355 2

原创 数仓学习笔记(3)——数仓建模理论

例如,2020年5月21日,宋宋老师在京东花了250块钱买了一瓶海狗人参丸。维度表:时间、用户、商品、商家。关系建模和维度建模是两种数据仓库的建模技术。每一个事实表的行包括:具有可加性的数值型的度量值、与维表相连接的外键,通常具有两个和两个以上的外键。这里的部份依赖是和主键有关,再拆分成两张表的时候,不仅把部分依赖消除了,同时也消除了部分数据冗余。例如:用户、商品、日期、地区等。在维度建模的基础上又分为三种模型:星型模型、雪花模型、星座模型。,执行引擎变成了Spark,Spark负责采用RDD执行。...

2022-08-30 22:13:38 1334

原创 数仓学习笔记(2)——业务数据采集

以下为本电商数仓系统涉及到的业务数据表结构关系。这34个表以订单表、用户表、SKU商品表、活动表和优惠券表为中心,延伸出了优惠券领用表、支付流水表、活动订单表、订单详情表、订单状态表、商品评论表、编码字典表退单表、SPU商品表等,用户表提供用户的详细信息,支付流水表提供该订单的支付详情,订单详情表提供订单的商品数量等情况,商品表给订单详情表提供商品的详细信息。本次讲解以此34个表为例,实际项目中,业务数据库中表格远远不止这些。...

2022-08-27 11:29:51 789 1

原创 数仓学习笔记(1)——用户行为数据采集

我们要收集和分析的数据主要包括页面数据、事件数据、曝光数据、启动数据和错误数据。

2022-08-22 02:32:35 840 1

原创 Hive学习笔记(3)——DML数据操作

目录一、DML数据操作1、数据导入1.1 向表中装载数据(Load)1.2 通过查询语句向表中插入数据1.3 查询语句中创建表并加载数据(As Select)1.4 创建表时通过 Location 指定加载数据路径1.5 Import数据到指定Hive表中2、数据导出2.1 Insert导出2.2 Hadoop命令导出到本地 2.3 Hive Shell命令导出2.4 Export导出到HDFS上2.5 Sqoop导出(可视化)2.6 清除表中数据(Truncate) 后续再进行说明...

2022-08-06 02:15:57 843

原创 Hive学习笔记——数据类型及DDL数据定义

HIve学习笔记

2022-08-04 18:49:06 536 1

原创 Hive学习笔记(1)

元数据包括:表名、表所属的数据库(默认是 default)、表的拥有者、列/分区字段、 表的类型(是否是外部表)、表的数据所在目录等;通过写sql的方式去对数据的分析处理,就不需要用MR了(太很麻烦),但是底层实现还是使用MR,只不过我们不用自己写。(4)Hive 优势在于处理大数据,对于处理小数据没有优势,因为 Hive 的执行延迟比较 高。(3)Hive 的执行延迟比较高,因此 Hive 常用于数据分析,对实时性要求不高的场合。(1)操作接口采用类 SQL 语法,提供快速开发的能力(简单、容易上手)。.

2022-08-02 22:03:16 428

原创 Hadoop学习笔记(4)——MapReduce(1)

MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。...

2022-08-01 02:14:20 263

原创 Hadoop学习笔记(3)——HDFS(2)

但是,如果长时间添加数据到Edits中,会导致该文件数据过大,效率降低,而且一旦断电,恢复元数据需要的时间过长。首先,我们做个假设,如果存储在NameNode节点的磁盘中,因为经常需要进行随机访问,还有响应客户请求,必然是效率过低。这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。这样,一旦NameNode节点断电,可以通过FsImage和Edits的合并,合成元数据。...

2022-07-31 16:02:00 97

原创 Hadoop学习笔记(2)——HDFS(1)

hadoopfs具体命令或者hdfsdfs具体命令(两者完全相同)

2022-07-31 01:33:17 451

原创 Hadoop学习笔记(1)

HadoopDistributedFileSystem,简称HDFS,是一个分布式文件系统YetAnotherResourceNegotiator简称YARN,另一种资源协调者,是Hadoop的资源管理器MapReduce将计算过程分为两个阶段Map和Reduce1、Map阶段并行处理输入数据(分工给多个服务器)2、Reduce阶段对Map结果进行汇总可以kill进程去停止。......

2022-07-29 19:26:08 573 1

原创 Linux学习笔记(7)

nu可以查看报错位置注意1、如果没有加``反引号,就会把data这个单词赋给A;加了以后就是把data当作一条命令对待,赋值给A。

2022-07-27 01:54:03 122

原创 Linux学习笔记(6)

Linux实操篇(6)——网络配置、进程及软件包管理

2022-07-23 00:22:41 745

原创 Linux学习笔记(5)

1,4,5使用可能较多,可以背下来原理图Linux的每一个目录都可以和硬盘里面的分区挂载,例如/目录就挂载在第一块硬盘sda的第3个分区sda3上等等类推,也可以在加一块硬盘sdb去挂载Linux里的其他目录。...

2022-07-21 22:29:20 179

原创 Linux学习笔记(4)

目录二、Linux实操篇(4)——权限管理1、所有者2、所在组2.1 组的创建2.2 查看文件/目录所在组2.3 修改文件所在的组(chgrp)3、其他组3.1 改变用户所在组 4、权限4.1 权限的基本介绍4.2 rwx权限详解4.3 文件及目录权限案例4.4 修改权限(chmod)4.5 修改文件所有者(chown)4.6 修改文件/目录所在组(chgrp(2))​编辑4.7 权限管理应用实例(1)4.8 权限管理应用实例(2)在Linux中,每一个用户都必须有一个组 ls -ll展示出来的内容:..

2022-07-21 02:21:31 101 1

原创 Linux学习笔记(3)

4、举例创建压缩文件就使用zcvf(c是创建、打包一个.tar文件),解压就使用zxcf(x是解压.tar文件),aaa.tar-Cxxx是将解压文件aaa解压到xxx。2、这里的-z意思打包以后用gizp的格式进行压缩或者解压,因此压缩和解压都要有z!ls-l显示文件信息时,可以使用lh把文件的大小用单位表示出来,更加方便。3、f放在最后就行,其他的顺序无所谓,一般按zcvf等顺序。1、压缩文件的时候,会将压缩之后的文件就放在当前目录下!which用于查看ls,reboot等指令所在的目录。...

2022-07-20 01:41:15 417

原创 Linux学习笔记(2)

Linux实操篇——用户管理及文件目录指令

2022-07-19 20:43:20 148

原创 Linux学习笔记(1)

桌面打开的终端是一个仿真包,打开真正的终端需要同时按住ctrl+alt+(F2~F6之间任意键),ctrl+alt+F1切回桌面,ctrl+alt呼唤鼠标(部分电脑要加Fn)~是代表当前用户的主文件夹,另外可以用ls把当前目录下文件和文件夹列出来注意在Linux中正斜杠,而不是反斜杠实际工作中以Xshell为主,因此后续学习多用Xshell进行。...

2022-07-18 21:52:06 256

原创 MySQL学习笔记——存储过程与函数(2)

举例2创建存储函数,名称为email_by_id(),参数传入emp_id,该函数查询emp_id的email,并返回,数据类型为字符串类型。举例3创建存储函数,名称为count_by_id(),参数传入dept_id,该函数查询dept_id部门的员工人数,并返回,数据类型为整型。举例1创建存储函数,名称为email_by_name(),参数定义为空,该函数查询Abel的email,并返回,数值类型为字符串类型。从information_schema.Routines表中查看存储过程和函数的信息。....

2022-07-16 17:19:33 324 1

原创 MySQL学习笔记——存储过程和函数

目录一、存储过程1、存储过程概述1.1 理解1.2 分类2、创建存储过程2.1 语法分析​编辑3、代码示例3.1 准备工作 3.2 存储过程的调用3.3 创建存储过程 语法: 说明:关键字:CALL类型1:没有参数举例1:创建存储过程select_all_data(),查看employees表的所有数据 //存储过程的名称相当于函数名字,要放在CREATE PROCEDURE后面。举例2:创建存储过程avg_employyes_salary(),返回所有员工的平均工资#调用类型

2022-07-16 00:55:51 709

原创 MySQL学习笔记——视图

对视图进行操作,会同时把原表的数据也进行修改。因此,视图是一张虚拟表,本质就类似于一个SELECT语句,因此,删除视图就类似删除SELECT,因此不会影响原图。

2022-07-15 19:34:27 2351

原创 MySQL学习笔记——约束(3)

目录7、FOREIGN KEY(外键) 约束7.1 作用 7.2 关键字7.3 主表和从表/父表和子表7.4 特点7.5 在CREATE TABLE时添加7.6 演示外键效果 7.7 在ALTER TABLE时添加外键约束7.8 总结:7.9 约束等级7.10 删除外键约束7.11 开发场景7.12 阿里开发规范8、 CHECK(检查)约束8.1 作用8.2 关键字8.3 说明8.4 CHECK约束的使用9、DEFAULT约束9.1 作用9.2 关键字9.3 在CREATE TABLE时添加约束9.4 在A

2022-07-09 00:23:25 280 1

原创 MySQL学习笔记——约束(2)

目录5、PRIMARY KEY约束5.1 作用5.2 关键字5.3 特点5.4 在CREATE TABLE时添加约束 5.4 在ALTER TABLE时添加约束5.5 删除主键约束6、自增列:AUTO_INCREMENT6.1 作用6.2 关键字6.3 特点和要求6.4 在CREATE TABLE添加自增长列6.5 在ALTER TABLE时添加6.6 在ALTER TABLE时添删除6.7 MySQL 8.0新特性-自增变量的持久化用来唯一标识表中的一行记录primary key主键约束相当于唯一约束+

2022-07-08 20:21:57 280 1

原创 MySQL学习笔记——约束(1)

目录一、约束1、约束概述1.1 为什么需要约束1.2 什么叫约束1.3 约束的分类1.4 如何添加约束2、如何查看表中的约束3、非空约束3.1 作用3.2 关键字3.3 特点3.4 在CREATE TABLE时添加约束3.5 在ALTER TABLE时添加约束3.6 在ALTER TABLE时删除约束 ​编辑4、唯一性约束4.1 作用4.2 关键字4.3 特点4.4 在CREATE TABLE时添加约束4.5 在ALTER TABLE时添加约束4.6 复合的唯一性约束4.6 删除唯一性约束 约束就是对表中

2022-07-05 00:26:29 137

原创 MySQL学习笔记——数据类型(2)

MySQL学习笔记——数据类型

2022-07-02 20:20:43 263

原创 MySQL学习笔记——数据类型(数值类型)

MySQL学习笔记

2022-07-01 14:56:13 208

空空如也

空空如也

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

TA关注的人

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