自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(322)
  • 资源 (10)
  • 收藏
  • 关注

原创 Python(7):判断和循环

Python之判断和循环

2022-12-05 11:40:43 32

原创 Python(6):集合

Python之集合

2022-12-03 18:28:00 59

原创 Python(5):字典

Python之字典

2022-12-03 17:40:02 180

原创 Python(4):列表

Python之列表

2022-12-03 16:45:52 78

原创 Python(3):索引和切片

Python之索引和切片

2022-12-03 10:49:37 15

原创 Python(2):字符串

Python之字符串

2022-12-02 17:59:51 71

原创 Python文章汇总

未完待续......

2022-12-02 11:05:04 46

原创 Python(1):Python基础知识

Python之基础知识点

2022-12-02 11:02:01 138

原创 Spark(4):Spark运行架构

所谓的提交流程,其实就是我们开发人员根据需求写的应用程序通过 Spark 客户端提交给 Spark 运行环境执行计算的流程。在不同的部署环境中,这个提交过程基本相同,但是又有细微的区别,我们这里不进行详细的比较,但是因为国内工作中,将 Spark 引用部署到Yarn 环境中会更多一些,所以本课程中的提交流程是基于 Yarn 环境的。Spark 应用程序提交到 Yarn 环境中执行的时候,一般会有两种部署执行的方式:Client 和Cluster。两种模式主要区别在于:Driver 程序的运行节点位置。

2022-11-11 20:43:41 31

原创 Spark(3):Spark运行环境

自己学习时,每次都需要启动虚拟机,启动集群,这是一个比较繁琐的过程,并且会占大量的系统资源,导致系统执行变慢,不仅仅影响学习效果,也影响学习进度,Spark 非常暖心地提供了可以在 windows 系统下启动本地集群的方式,这样,在不使用虚拟机的情况下,也能学习 Spark 的基本使用。所谓的 Local 模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等,在 IDEA 中运行代码的环境我们称之为开发环境,不太一样。

2022-11-09 21:48:59 887

原创 Spark(2):Spark快速上手

Spark 由 Scala 语言开发的,所以一般情况下开发所使用的语言也为 Scala,当前使用的Spark 版本为 3.0.0,默认采用的 Scala 编译版本为 2.12,所以后续开发时。出现这个问题的原因,并不是程序的错误,而是 windows 系统用到了 hadoop 相关的服务,解决办法是通过配置关联到 windows 的系统依赖就可以了。修改 Maven 项目中的 POM 文件,增加 Spark 框架的依赖关系。本博文是基于Spark3.0 版本,使用时请注意对应版本。

2022-11-06 13:38:14 24

原创 Spark文章汇总

未完待续......

2022-11-06 13:08:54 374

原创 Spark(1):Spark概述

但是 Spark 是基于内存的,所以在实际的生产环境中,由于内存的限制,可能会由于内存资源不够导致 Job 执行失败,此时,MapReduce 其实是一个更好的选择,所以 Spark 并不能完全替代 MR。Spark 出现的时间相对较晚,并且主要功能主要是用于数据计算,所以其实Spark 一直被认为是 Hadoop 框架的升级版。Spark和Hadoop的根本差异是多个作业之间的数据通信问题 : Spark多个作业之间数据通信是基于内存,而 Hadoop 是基于磁盘。

2022-11-06 13:08:14 27

原创 HBase(8):HBase与Hive的集成

目标: 在 HBase 中已经存储了某一张表 hbase_emp_table,然后在 Hive 中创建一个外部表来关联 HBase 中的 hbase_emp_table 这张表,使之可以借助 Hive 来分析 HBase 这张表中的数据。如果大量的数据已经存放在 HBase 上面,需要对已经存在的数据进行数据分析处理,那么Phoenix 并不适合做特别复杂的 SQL 处理,此时可以使用 hive 映射 HBase 的表格,之后写 HQL 进行分析处理。1) 在 Hive 中创建表同时关联 HBase。

2022-11-02 21:56:24 37

原创 HBase(7):HBase整合Phoenix

Phoenix 是 HBase 的开源 SQL 皮肤。可以使用标准 JDBC API 代替 HBase 客户端 API来创建表,插入数据和查询 HBase 数据。

2022-11-02 21:49:24 38

原创 HBase(6):HBase优化

理由是 HBsae 大量使用内存用于存储数据,容易遭遇数据洪峰造成 OOM,同时写缓存的数据是不能垃圾回收的,主要回收的就是读缓存,而读缓存垃圾回收不影响性能,所以最终设置的效果可以总结为:防患于未然,早洗早轻松。一条数据的唯一标识就是 rowkey,那么这条数据存储于哪个分区,取决于 rowkey 处于哪个一个预分区的区间内,设计 rowkey的主要目的 ,就是让数据均匀的分布于所有的 region中,在一定程度上防止数据倾斜。所有必须添加在 rowKey 的最前面,前缀为最简单的数字。

2022-10-24 23:50:25 464

原创 HBase(5):HBase进阶

每一个 region 维护着 startRow 与 endRowKey,如果加入的数据符合某个 region 维护的rowKey 范围,则该数据交给这个 region 维护。那么依照这个原则,我们可以将数据所要投放的分区提前大致的规划好,以提高 HBase 性能。1) 手动设定预分区2) 生成 16 进制序列预分区3) 按照文件中设置的规则预分区-- 创建 splits.txt 文件内容如下:aaaabbbbccccdddd-- 执行4) 使用 JavaAPI 创建预分区。

2022-10-24 23:24:19 665

原创 HBase(4):HBase API

根据官方 API 介绍, HBase 的客户端连接由 ConnectionFactory 类来创建,用户使用完成之后需要手动关闭连接。同时连接是一个重量级的,推荐一个进程使用一个连接,对 HBase的命令通过连接中的两个属性 Admin 和 Table 来实现。在resources 文件夹中创建配置文件 hbase-site.xml,添加以下内容。注意:会报错 javax.el 包不存在,是一个测试用的依赖,不影响使用。使用类单例模式,确保使用一个连接,可以同时用于多个线程。创建类 HBaseDML。

2022-10-24 00:35:19 38

原创 HBase(3):HBase Shell 操作

scan 是扫描数据,能够读取多行数据,不建议扫描过多的数据,推荐使用 startRow 和 stopRow 来控制读取的数据,默认范围左闭右开。info 列族数据维护的版本数为 5 个,如果不写默认版本数为 1。delete 表示删除一个版本的数据,即为 1 个 cell,不填写版本默认删除最新的一个版本。表名创建时写的所有和列族相关的信息,都可以后续通过 alter 修改,包括增加删除列族。get 最大范围是一行数据,也可以进行列的过滤,读取数据的结果为多行 cell。

2022-10-16 23:44:22 66

原创 HBase文章汇总

​HBase相关博文汇总:HBase(1):HBase简介HBase(2):HBase安装部署HBase(3):HBase Shell 操作HBase(4):HBase APIHBase(5):HBase进阶HBase(6):HBase优化

2022-10-16 23:24:36 465

原创 HBase(1):HBase简介

Apache HBase™ 是以 hdfs 为数据存储的,一种分布式、可扩展的 NoSQL 数据库。

2022-10-16 23:23:34 57

原创 HBase(2):HBase安装部署

在 HBase 中 HMaster 负责监控 HRegionServer 的生命周期,均衡 RegionServer 的负载,如果 HMaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。4) 解决 HBase 和 Hadoop 的 log4j 兼容性问题,修改 HBase 的 jar 包,使用 Hadoop 的 jar 包。1) hbase-env.sh 修改内容(可以添加到文件最后面)1) 关闭 HBase 集群(如果没有开启则跳过此步)

2022-10-16 23:23:18 256

原创 离线数仓(12):DWD层实现之流量日志解析

针对流量日志,在ODS层很多流量日志主题会聚合在一起(博主这里ODS层分为9个大主题,例:APP点击、APP曝光、H5所有、路径等),所以到DWD层会将ODS层大主题根据业务分为小主题,比如APP商品点击、APP商品曝光、商品详情页面曝光等;一般情况下,流量日志使用的是批量上报的方式,所以需要对一些主题的流量日志进行炸裂(例:APP商品曝光等);流量日志在DWD层为每天一个分区,存储当天的增量数据,并注意要使用压缩;流量日志在DWD层一个业务主题为一张表;

2022-09-09 15:40:15 657

原创 离线数仓(11):DIM层实现

对ods层相关维度进行聚合,减少表的数量(例如3级分类聚合成一张分类维度表),后续使用维度减少雪花模型的使用;一般维度表每天创建一个分区(商品维度表等),特殊维度表导入数据(时间维度表),需要记录历史变化的创建拉链表(用户维度表);因为拉链表是记录数据的新增和变化,所以使用ods层的记录表(ods_fmys_users_record_dt);如下代码所示,对每个user_id开窗,每个更改时间一条数据,当在这个时间点,用户修改了信息,那也就是说,从这个时间点到下个时间点,用户都使用的是这条记录的信息。

2022-09-07 00:21:23 216

原创 Hive(20):Hive的函数之窗口函数

简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。开窗函数一般就是说的是over()函数,其窗口是由一个 OVER 子句 定义的多行记录开窗函数一般分为两类,聚合开窗函数和排序开窗函数。

2022-09-06 15:52:12 445

原创 离线数仓(7):数仓理论之数据仓库建模

ods层存放最基础的原始数据,不做任何处理,并对数据进行压缩和分区;dwd层对ods层数据进行ETL、炸裂,并以业务过程为驱动,对同一个业务过程数据进行初步聚合;DWS层、DWT层是以需求为驱动,按照主题去创建宽表;主题相当于观察问题的角度。对应着维度表;ADS层同样是以需求为驱动,从DWS和DWT获取数据,并生成需求需要的最终结果数据;注:其他 离线数仓 相关文章链接由此进 ->离线数仓文章汇总。

2022-09-03 00:38:20 195 1

原创 离线数仓(10):ODS层实现之业务数据核对

架构图:该作业为周末空闲时间调度(每周一次,在集群资源空闲的时候即可);该作业的目的是,快速从业务库拉取表到数仓中的临时表,然后和ods层的视图进行数据比对,当完全相同的条数低于某个比例时,就进行告警,将告警消息发送到飞书、钉钉等通信软件上;因为ods层视图是分钟级更新,临时表也因为设置多并发故拉取数据较快,所以可以设置完全相同的数据条数要大于百分之99.99才算正常;除了条数外,还可以使用其他数据核对口径,比如某一天某个小时的GMV、上架商品数等具体业务口径;

2022-09-02 17:27:35 609

原创 离线数仓(9):ODS层实现之导入业务数据

保持数据原貌不做任何修改,起到备份数据的作用数据采用压缩,减少磁盘存储空间(例如:原始数据100G,可以压缩到10G左右)创建分区表,防止后续的全表扫描将业务数据写入到数仓中,并每天进行一个全量快照备份(其实可以只备份新增和变化的数据,但我们根据实际业务情况和其他各方面等考虑,进行了全量快照备份,并且如果进行全量快照备份的话,保留180天数据完全足够)

2022-09-01 18:33:57 638

原创 离线数仓(6):数仓理论之维度模型分类

这也是我们在使用hive时,经常会看到一些大宽表的原因,大宽表一般都是事实表,包含了维度关联的主键和一些度量信息,而维度表则是事实表里面维度的具体信息,使用时候一般通过join来组合数据,相对来说对OLAP的分析比较方便。雪花模型是对星型模型的扩展,它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次 " 区域,这些被分解的表都连接到主维度表而不是事实表。星型模型中只有一张事实表,以及0张或多张维表,事实表与维表通过主键外键相关联,维表之间不存在关联关系,...

2022-09-01 00:24:07 194 2

原创 离线数仓(5):数仓理论之维度表和事实表

一般是对事实的描述信息。每一张维表对应现实世界中的一个对象或者概念。例如:用户、商品、日期、地区等。事实表中的每行数据代表一个业务事件(下单、支付、退款、评价等)。“事实”这个术语表示的是业务事件的度量值(可统计次数、个数、金额等),例如,2022年8月31日,某个用户在商城花了199块钱买了一件连衣裙。维度表:时间、用户、商品、商家;事实表:199块钱、一件。每一个事实表的行包括:具有可加性的数值型的度量值、与维表相连接的外键,通常具有两个和两个以上的外键。......

2022-08-31 23:32:00 95

原创 离线数仓(4):数仓理论之关系建模和维度建模

关系建模和维度建模是两种数据仓库的建模技术。关系建模由Bill Inmon所倡导,维度建模由Ralph Kimball所倡导。在数据仓库的早期中,都是使用的关系建模,但随着数据仓库的发展,发现关系建模在使用上有很大的不便,所以又提出了维度建模的概念。维度建模相对关系建模的最大变化就是不遵循三范式,所以数据存在一定冗余,但是为查询大大提高了效率,而数据仓库中又是一次写入多次查询的特点,所以在新的数仓中才一般会使用维度建模。注:其他 离线数仓 相关文章链接由此进 ->离线数仓文章汇总。......

2022-08-31 23:19:55 193

原创 离线数仓(8):ODS层实现之导入流量日志

保持数据原貌不做任何修改,起到备份数据的作用数据采用压缩,减少磁盘存储空间(例如:原始数据100G,可以压缩到10G左右)创建分区表,防止后续的全表扫描将流量数据不做任何修改的写入到文件系统中使用了parquet格式,但由于平台和业务原因没有在parquet上再使用例如lzo、snappy等压缩了,但单独的parquet格式压缩也对文本进行了较好的压缩了在建表时创建了分区表。.........

2022-08-31 11:17:10 279

原创 离线数仓(3):数仓理论之范式理论

数仓理论之范式理论目前业界范式有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)、第五范式(5NF)。 函数依赖三范式区分

2022-08-30 23:38:38 81

原创 离线数仓文章汇总

​离线数仓文章汇总:离线数仓(1):什么是数据仓库离线数仓(2):数据仓库相关架构和规范离线数仓(3):数仓理论之范式理论离线数仓(4):数仓理论之关系建模和维度建模离线数仓(5):数仓理论之维度表和事实表离线数仓(6):数仓理论之维度模型分类1离线数仓(8):ODS层实现之导入流量日志1​...

2022-08-30 22:37:14 143

原创 离线数仓(2):数据仓库相关架构和规范

数据仓库在企业是处于非常重要的位置;往前接收经由埋点而获取的用户行为日志、拉取商家(报社、博主等内容发布方)和用户交互的业务数据;往后输出的数据可以给领导层提供决策、可以给用户构建画像系统、可以判断用户喜好等。其他 离线数仓 相关文章链接由此进 ->........................

2022-08-30 22:33:26 212

原创 离线数仓(1):什么是数据仓库

数仓面向主题分析的特点在企业中数仓是一个不断维护的工程数仓分层并不局限于经典3层,可以根据自身需求进行调整没有好的架构,只有适合自己业务需求的架构它山之石可以攻玉注:其他 离线数仓 相关文章链接由此进 ->离线数仓文章汇总。...

2022-08-30 21:35:29 1272 3

原创 Hive(19):Hive调优之 Hive On Spark

考虑到系统基础服务和HDFS等组件的余量,一般会将YARN NodeManager的yarn.nodemanager.resource.cpu-vcores参数设为28,也就是YARN能够利用其中的28核,此时将spark.executor.cores设为4最合适,最多可以正好分配给7个Executor而不造成浪费。同理,这两个内存参数相加的总量也不能超过单个Container最多能申请到的内存量,即yarn.scheduler.maximum-allocation-mb配置的值。...

2022-08-28 18:45:28 153

原创 Hive(18):Hive调优之Job优化

不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。不幸的是,Hive并不会执行这种优化,因此,如果表足够大,那么这个查询就会出现不可控的情况。当input的文件都很大,任务逻辑复杂,map执行非常慢的时候,可以考虑增加Map数,来使得每个map处理的数据量减少,从而提高任务的执行效率。用户可以通过设置hive.exec.mode.local.auto的值为true,来让Hive在适当的时候自动启动这个优化。..

2022-08-28 17:38:27 117

原创 Hive(17):Hive调优之数据倾斜

绝大部分任务都很快完成,只有一个或者少数几个任务执行的很慢甚至最终执行失败,这样的现象为数据倾斜现象。一定要和数据过量导致的现象区分开,数据过量的表现为所有任务都执行的很慢,这个时候只有提高执行资源才可以优化HQL的执行效率。综合来看,导致数据倾斜的原因在于按照Key分组以后,少量的任务负责绝大部分数据的计算,也就是说产生数据倾斜的HQL中一定存在分组操作,那么从HQL的角度,我们可以将数据倾斜分为单表携带了GroupBy字段的查询和两表(或者多表)Join的查询。...

2022-08-28 17:22:25 82

原创 Hive(16):Hive调优之HQL语法优化

MapJoin 是将 Join 双方比较小的表直接分发到各个 Map 进程的内存中,在 Map 进程中进行 Join 操 作,这样就不用进行 Reduce 步骤,从而提高了速度。在 Hive 1.1.0 之后,这个 feature 是默认开启的,它可以 自动优化 HQL中多个 Join 的顺序,并选择合适的 Join 算法。MapJoin 是将 Join 双方比较小的表直接分发到各个 Map 进程的内存中,在 Map 进程中进行 Join 操作,这样就不用进行 Reduce 步骤,从而提高了速度。...

2022-08-28 13:04:46 258 1

hive文件存储格式对比实验测试数据

hive测试数据,其中为日志类型,用于验证在hive中主流文件存储格式对比实验

2022-08-25

doris 0.15版本 中的 apache_hdfs_broker 插件

已对doris 0.15版本中的apache_hdfs_broker组件进行了编译,可以直接使用此包进行 分发,修改配置文件,启动(之前需要对doris进行安装启动) *** 对应的doris0.15安装包链接如下:https://download.csdn.net/download/yang_shibiao/77998892 *** 如果需要积分或者校验码,可以去百度网盘中下载,地址如下:链接:https://pan.baidu.com/s/1UOQSc35qlUjQgvmfareMhQ 提取码:1234

2022-01-28

doris 0.15版本 安装包

已对doris 0.15版本进行了编译,可以直接使用此包进行 分发,修改配置文件,启动 如果需要积分或者校验码,可以去百度网盘中下载,地址如下: 链接:https://pan.baidu.com/s/1BA3ZRcfjj4-tVVZNUIw9Bw 提取码:1234

2022-01-26

Hadoop 之 winutils

在windows上运行Hadoop相关程序时报错问题解决(比如Spark) 如果需要积分或者校验码,可以去百度网盘中下载,地址如下: 链接:https://pan.baidu.com/s/1RVpmbtjuQL3lbAEYfjr2EA 提取码:1234

2022-01-21

Alink流组件数据导入中使用到的文件.rar

Alink流组件数据导入中使用到的文件,本人是放在项目的同目录下,可以根据代码中的路径来自由调整 如果发现需要积分或者码的可以去百度网盘下载,地址如下: 链接:https://pan.baidu.com/s/1N8YNjYfxJ50jS24F2v_81w 提取码:1234

2021-07-15

kafka-manager-2.4.0.tar.gz

kafka-manager(滴滴发布的新版) 如果发现需要积分或者码,可以去百度网盘下载,地址如下: 链接:https://pan.baidu.com/s/1IxJFsWs9_vAQ-sbWzig0tw 提取码:1234

2021-07-05

kafka-eagle-bin-2.0.2.tar.gz

kafka-eagle 如果发现需要积分或者码可以去百度网盘下载,地址如下: 链接:https://pan.baidu.com/s/1K_OFlLvxM-ghJXwqLllusg 提取码:1234

2021-07-05

Elasticsearch7.9.2基于CDH6.3.1安装包.rar

可以在CDH6.3.1的web页面安装配置Elasticsearch7.9.2

2021-03-25

基于CDH6.3.1的Phoenix安装包.rar

基于CDH6.3.1的Phoenix安装包,可以直接在CDH的web页面对Phoenix进行安装下载和激活使用

2021-03-25

Flink1.10.2基于CDH6.3.1安装包(Scala2.12).rar

将2个jar包(一个为Flink运行在Yarn上,一个Flink使用自己的集群模式)上传到CDH的csd目录下,在将CDH需要的parcel文件放置在/usr/www/html(可以自己选择)目录下,能通过url访问既可,既可以在CDH的web页面进行下载安装,最后将flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar包放置在flink的bin目录下(此包为Flink和HDFS的连接包)

2021-03-25

Flink基于CDH6.3.1安装包(Scala2.11版本).rar

将2个jar包(一个为Flink运行在Yarn上,一个Flink使用自己的集群模式)上传到CDH的csd目录下,在将CDH需要的parcel文件放置在/usr/www/html(可以自己选择)目录下,能通过url访问既可,既可以在CDH的web页面进行下载安装,最后将flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar包放置在flink的bin目录下(此包为Flink和HDFS的连接包)

2021-03-25

空空如也

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

TA关注的人

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