自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ETL入仓选择/调度/监控问题的小总结

【代码】ETL问题的小总结。

2022-10-05 06:26:05 739

原创 Hive优化四大方向小总结

如count (distinct a)group by b可以改成先group by a,b然后group by b,最后直接count a。一个job sql可以拆分多个job执行,如count(distinct),因为distinct去重只有一个reduce task,可改为先group by后再count(1)4 推测执行,根据一定法则推测出性能低下的task,给这种task多执行一个备份task,最后取运算最快的task结果。遍历a表id为key,age+id为value。

2022-10-05 05:21:56 819

原创 SQL日常练习3-简单记录9问

思路:先求出每个用户user_id的第一次出现的dt时间(也就是group by后dt最小的),然后选择dt为2月的就是需要的结果。思路:先查询log表计算每个用户的url次数,然后age表划分每个用户的年龄段,最后join并根据年龄段sum。问题:给出2017年2月新客数量(指2月之前没出现过的user_id数量)2 活跃用户的总数和平均年龄 (活跃用户指连续两天访问的用户)方式2是用于对方式1 distinct的优化处理。方法2:用with as优化多层嵌套问题。1 所有用户的总数和平均年龄。

2022-09-17 20:39:20 266

原创 Flink Top N/连续性数据处理问题-练习记录

5 自定义实现开窗函数 (第四步的累加器输出结果交给这里的开窗函数处理,包装成前面自定义的输出格式输出数据)2 根据UserBehavior类的itemId分类,类的timestamp位时间戳,统计pv值。4 自定义实现累加器,输出结果为后者的input:Iterable[Long]1 自定义类,定义数据的输入和输出格式,语言为scala。3 添加开窗函数聚合,做count聚合次数。6 添加 process 进行统计数据整理。7 自定义TopN逻辑。...

2022-08-11 22:11:14 513

原创 OLTP和OLAP问题的个人总结

Hbase 是面向oltp的数据库,通过LSM机制来平衡写和读的性能。但是要注意Hbase的思想是oltp,所以注定重点是写,要牺牲读,更适合多写少读的场景。但是实际情况下大多数读写场景通过Hbase就可以完全满足,为什么呢?因为LSM和其他一套组合拳也大量提升了读的性能。Hbase具体原理可见前文记录。.........

2022-08-07 18:27:30 865

原创 Flink调优

Flink调优。

2022-08-04 19:51:23 1309

原创 Flink原理流程图简单记录

Akka基于Actor的RPC通信系统,核心概念也是Message,它是基于协程的,性能好:基于scala的偏函数,易用性高,但是它毕竟只是RPC通信,无法适用大的package/stream的数据传输,所以更多使用场景还是Netty。

2022-08-02 22:19:46 457

原创 数据湖简单记录

数据湖简单记录

2022-07-20 22:12:51 281

原创 大数据各个组件对读写数据的优化思考总结

大数据各个组件对读写数据的优化思考总结

2022-07-20 13:01:29 501

原创 大数据组件RPC/大数据组件和zookeeper关系思考总结

各个大数据组件和zookeeper的关系总结

2022-07-20 12:25:44 810

原创 Flink基础记录补充

Flink基础记录补充

2022-07-15 21:13:56 192

原创 SparkStreaming简单记录补充

Spark 1.6之前网络通讯是akka,1.6之后是netty,但使用方式依然一样SparkContext初始化执行流程容错

2022-07-12 12:32:34 97

原创 Spark调优补充录第三篇

Spark调优第二篇1 避免使用重复RDD,多次使用的RDD可以持久化复用2 避免使用Shuffle类算子位图法使用实例3 使用Map-Side预聚合的shuffle操作4 使用高性能算子5 Kryo优化序列化6 优化数据结构mapjoin和combiner能用则用...

2022-07-09 21:29:24 298

原创 Hive调优和原理篇

元数据比较支持的SQL语法表的4种表存储分桶表分区分桶的使用排序内置函数/自定义函数窗口函数调优的四个方向1 建表设计层面2 HQL语法和运行参数层面关于如何确定MapTask和ReduceTask问题HIVE 架构层面优化1 事实表和维度表连接2 连续的大表连接大表......

2022-07-05 11:07:50 448

原创 Hbase架构设计和源码-源码第二篇

Hbase 版本 2.x123

2022-07-01 15:46:57 412

原创 Hbase架构设计和源码-基本记录第一篇

Hbase意义思路提高查询性能的总结提高数据安全性

2022-06-26 00:22:37 435

原创 MapReduce执行原理记录

Mapreduce基础原理本篇略过源码版本2.7.7环形缓冲区Map合并文件Reduce端shuffle

2022-06-23 23:45:35 278

原创 Kafka架构设计和源码-额外问题记录

问题Kafka 网络通讯总结

2022-06-22 14:15:16 187

原创 Kafka架构设计和源码-生产者原理第二篇

书籍推荐kafka 要点 0.10版本生产者发送消息流程简单流程图略微详细的流程图元数据封装信息元数据更新流程Kafka 缓存RecordAccmulator封装消息Kafka 自定义实现高性能CopyOnWriteMapKafka 数据写入缓存对应批次的分段加锁Kafka 内存池设计所以内存批次发送的大小参数配置很重要,默认16k,代表数据累计满16k则发送一次。消息如果不能正常累计到16k则会很大的影响性能,需要优化调整参数。例如当一条消息大于16k,则不会批量发送,一次

2022-06-20 23:51:37 159

原创 Kafka架构设计和源码-服务端原理第一篇

Kafka要点kafka 一些特性问题kafka 服务端高性能架构设计处理服务端请求架构设计 Reactor 设计模式左左下中右文件读取的高性能非零拷贝kafka 零拷贝producer 设计-批处理内存池设计-避免内存中批信息频繁full GC偏移量存储.........

2022-06-16 20:14:23 366

原创 《从Paxos到Zookeeper》-Zookeeper源码第三篇

序列化持久化网络通讯机制Watcher监听机制伪代码ZK 选举机制选举伪代码lookForLeader选举流程图ZK数据同步引入文章

2022-06-15 22:03:52 143

原创 《从Paxos到Zookeeper》-Zookeeper使用第二篇

API使用方式伪代码使用方式

2022-06-09 17:18:09 65

原创 《从Paxos到Zookeeper》-分布式理论第一篇

分布式异常问题性能指标一致性概念3PC三阶段提交Paxos算法-分布式一致性算法Raft算法Zab算法Zookeeper数据一致性方案CAP理论Base理论

2022-06-06 20:40:50 75

原创 Hadoop原理-NameNode源码BUG

1 Namenode Full GC导致进程异常退出BUGNameNode瞬时高并发导致短暂不可用NameNode full GC导致集群异常退出bugNameNode写元数据到journalnode超时会导致Namenode进程异常退出源码处理方式journalnode传输后20s没有收到超过半数节点响应,代表数据传输失败,程序会自动停止active namenode进程但是当发生full GC超过30秒则会发生异常退出,很多平时超时则停止的程序都会存在full GC导致异常退出问题jo

2022-05-31 22:43:00 177

原创 Hadoop原理-HDFS写流程源码

Hadoop原理第一篇整体流程图左 HDFS客户端右 NameNodeHDFS契约HDFS写流程1 创建INodeFile流程(数据封装成内存目录树)2 添加文件契约流程 调用namenode rpc代理 底层是红黑树,实现按照契约时间排序3 DataStreamer启动流程(重要!写数据关键服务) 等待DataQueue有数据后执行 备注: 一个目录包含多个文件,一个文件包含多个block(默认128mb), 一个block包含多个package(64k),一个pa

2022-05-31 00:02:47 257

原创 Hadoop原理-NameNode如何支撑亿级流量

解决的问题HDFS如何实现有状态的高可用架构HDFS如何从架构上解决单机内存受限问题HDFS能支撑亿级流量的核心源码设计HDFS书籍推荐:深度剖析Hadoop HDFS/Hadoop 2.X HDFS源码剖析hadoop 3代版本 HDFS如何实高可用架构第一代hadoop解决海量数据如何存储和海量数据如何计算问题,核心设计为HDFS和Mapreduce第一代主从式架构,唯一主节点NameNode,多个从节点DataNode NameNode: 管理元数据:文件和block块,block

2022-05-28 23:46:23 373

原创 SQL日常练习-不在表/TOP N/连续 N/百分比N大类问题

SQL框架SQL语句书写顺序SQL语句执行顺序case when记录1CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' ENDCASE SCORE WHEN 'B' THEN '良' ELSE '不及格' END2case when CAST(salary as float) < 5000 then "五千"else NULL end1 查询不在表里的数据问题例如 a学生表排除b学生表问题a表 left join b表,然后通过b.xxx i

2022-05-14 00:14:43 239

原创 SQL练习-最多连胜/访问峰值/关联用户问题

1 最多连胜次数题目:获取player_id最多连胜天数,如果中间有draw失败连胜重置计算首先对player_id分区排序,再对player_id,result分区排序,如图上右侧两者相减的结果如果相同则算为同一个组,然后sum每个组获胜的1值即可获得结果select player_id, max(cnt) as cntfrom( select player_id, num1-num2, sum(if_win) as cnt from ( select

2022-05-11 19:19:53 1084 1

原创 《Hive性能调优实战》摘录

性能调优的多样性1 SQL优化union all可以改成两次连续的insert插入可以提高mapreduce性能,但是在之后的版本hive自身做了优化,该方法则并不能再提高性能2 数据块大小减少map数量,提高网络传输压力有时候可以提高性能3 不同的数据格式SequenceFileParquetORC4 表设计如分区,分桶,同时分区分桶排查和调优思路...

2022-05-08 00:04:39 1478

原创 尚硅谷4.0数仓项目整体设计要点记录

未完待续,排版全部更新完后再整理项目部署虚拟机环境配置下载整体设计 日志划分业务日志批量更新,用户行为日志事实更新虚拟机虚拟机登录 root rootsudo systemctl start/status mysqldmysql -uroot -p '000000'gmailbin/sqoop list-databases --connect jdbc:mysql://warehouse:3306/ --username root --password 000000h

2022-04-26 02:39:12 2547

原创 《阿里巴巴大数据之路》记录--数据模型篇

维度设计维度整合步骤:确定粒度,选择维度,确定主维度,确定相关维度,确定维度属性水平整合:数据源来自不同数据集。比如不同的部门的不同数据集,但是都会有商品价格,标题等可以整合的属性垂直整合:相同数据集,可以根据来源表产出新旧,频率,热度等历史归档缓慢渐变维度处理1 装载:阿里主要采用最简单粗暴的1天粒度的全量快照存储,不采用代理键。2 对数据的清理要求较高,磁盘代价小于CPU/内存,采用极限存储 历史拉链存储(记录进货/出货等生命周期,保留历史变更状态) 新增start_date/e

2022-04-14 00:05:30 1506

原创 Flume简单记录

优点通过source和sink与channel交互的两段事务,保证数据不丢失的可靠性,但是不能保证数据不重复flume侧重读取不同数据源的数据,kafka侧重下游的多消费者消费,sqoop侧重关系型数据库事件eventflume 数据传输的基本单元执行流程简单配置例子自定义读取Source/sink通过导入相关maven依赖,实现java接口,可以用来自定义读取Mysql或其他文件系统事务机制...

2022-04-11 22:23:19 1737

原创 《Hadoop构建数据仓库实践》摘录

1 模型设计思考流程2 Hive 使用时注意的情况Hive 创建表时文件格式的选择Hive事务的局限性

2022-04-11 18:57:36 1890

原创 Kylin简单记录

理论概述订单表为大表,叫事实表。品类表,地区表等小表为维度表。定义Kylin 只支持星形模型,不支持雪花等模型。会把所有模型结果提前计算出来,存放到cube内(Hbase)。所以查询亚秒级很快Query Engine查询引擎把hbase查询转换为sql,通过sql就可以无感hbase查询数据结果特点:标准sql接口,支持超大数据集,亚秒级响应,可伸缩性和高吞吐率,BI工具集成measures 网页点点定义维度即可未完待续...

2022-04-07 23:51:10 852

原创 Oozie简单记录

介绍用于定时调用任务WorkFlow 三个组成内容WorkFlow 常用节点执行流程安装配置hadoop 配置配置 hadoop 8个文件slaves 配置DataNode节点,三个sh文件配置java_home,四个xml文件 core-site.xml 配置NameNode地址和产生文件的存储目录 oozie需要额外配置代理用户,代理HostName节点和用户组,避免读取数据权限等问题 hdfs-site.xml 配置副本数量和SecondNameNode地址

2022-04-07 19:09:28 167

原创 Sqoop简单记录

功能底层通过将导入导出命令转成mapreduce程序来实现配置文件测试连接数据库导入MYSQL数据到HDFS其中--table staff代表select * 全查table表数据写入hdfs。也可以--columns id,sex方式指定列-- table staff可以换成 -- query from table ‘自定义select语句’导入MYSQL数据到HIVE该步骤过程第一步依然是数据存HDFS,之后迁移HIVE仓库导入MYSQL数据到Hbase只支持1.0

2022-04-06 19:49:14 1260

原创 Hbase记录第二篇

Hbase入门第一篇优势相比较于面向行存储的Mysql,hbase面向列存储Mysql做数据聚合操作时,都是读取一行数据,一行中很多值并不需要,就造成了性能浪费。而面向列存储,只读取需要的那个列的值,就更适合海量数据的读取统计分析hbase高可靠,高性能,面向列,可伸缩的分布式存储系统介绍按照列簇存储,一个列簇包含很多列。并且稀疏存储,只存需要的列,不是每行所有列的值都必须存值一个列簇一个store,相当于垂直拆分Region相当于分区,水平拆分这里rowkey 1001的nam

2022-04-04 22:46:40 1467

原创 《阿里巴巴大数据之路》记录--日志采集同步

架构图日志采集两大指标:PV页面浏览量,UV客户数日志产生过程http 请求和响应 请求http 请求行:请求方法(如GET/POST),URL(最重要),HTTP协议版本号(如1.1) 请求头:附加信息,如记录用户ID的Cookie 正文:可选,一般为空 响应http 状态行:状态码(如200,404) 响应报头:如请求头Cookie有缺失,响应头对增加Cookie更新指令 响应正文:一般非空,浏览器响应结果,如HTML日志采集动作 时间:发生在浏览器开始解析

2022-04-02 20:12:51 1369

原创 数据仓库记录--数据库基础

也是重新复习几年前本科时候数据库的课程了分类实体分类实体实例:customer,product,employee等按照含义分类:1 5W1H含义方式 who:如用户,员工 what:商品,产品 when:时间,日期,月份 where:商店,餐厅 why:订单,销售 how:合同,协议,发票2 IBM含义方式 企业--安排/业务指导/相关方/产品/事件/资源/位置/分类3 pattern分类 主实体(不依赖其他,独立存在的实体):如产品,客户 子实体:如主实体客户下子实体潜在客

2022-04-01 23:04:09 726

原创 数据仓库概念入门记录

存在的意义传统的数据仓库和大数据仓库传统数据仓库由关系型数据库组成MPP(大规模并行处理)集群缺点:存储位置不透明:通过Hash确定物理存储位置,查询任务在所有节点都执行扩展性有限:不同库之间交互对网络压力很大,分库分表也有上限,分库分表越多性能就越差。分布式事务实现会导致扩展性下降热点问题/单点瓶颈:分库分表后,可能发生热点数据都在同一节点情况下。改节点容易发生宕机和超时等异常情况大数据仓库利用大数据天然的扩展性,完成海量数据的存放。多副本存储可以解决单点问题,调度和计算拆分,数据共

2022-03-30 22:03:10 2685 1

空空如也

空空如也

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

TA关注的人

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