- 博客(115)
- 收藏
- 关注
原创 血缘系统 datahub + Sqllineage
业界比较主流的数据血缘系统,目前还没能达到与调度系统耦合,最大难点在于代码解析。当某张表下游太多时(特别是维度表),展示也失去了意义,所以多用于排查某张应用表的上游从哪里开。使用方一般为对数仓表结构不太熟悉的业务/数据经理想要了解有哪些数据。
2024-08-13 14:34:13
378
原创 初入datawork生态圈的架构
前文:越来越多小公司上云了,这个是大势所趋。现在主流是阿里云和腾讯云,此文通过分享这两个下来的感受让大家接触云平台开发。
2022-09-29 16:41:27
1484
1
原创 为什么需要职场软实力
在现有互联网技术发展速度下,三五年足够把技术更新一代,企业的最大收益就是招收一批工作三五年工作经验的人,那如何保证我们工作八年十年的竞争力呢?
2022-07-17 23:02:39
285
原创 数据开发与数据治理的关系
前文: 说起数据治理,可以滔滔不绝,但万变不离其宗,主要还是要对应着开发流程去理解才能模块化。当然每个点展开都是一个很宏大的议题,本文只是将开发与治理的对应关系结合起来。一、关系图 1.数据开发系统作为数据决策体系,其核心便在于指标体系的建设及其覆盖面。2.指标体系建设可分为三种建设方法,分别为科学方法选指标如OSM、分析模型如AARRR、场景化的人货物。3.一个数据开发的规范流程为:4.数据治理是一个泛题,对应着实际的开发流程:.....................
2022-06-28 00:59:41
2344
原创 画像架构思路
前文:画像体系:基于内容/商品/行为 圈选或分析人群;本文介绍的是重点介绍架构思路;让业务自助配置标签引擎实现打标,减少分析师导数工作。一、架构核心在于理解dws基础数据层建设的理解:1.多张实体表、轻度汇总的表的基础标签生成;2.根据每张基础表的基础标签,通过前端配置规则生成有效的业务标签;3.规则配置表->生成sql;是整个画像的难点。......
2022-05-24 17:00:25
157
原创 流量主题建设思路总结
前文: 流量分析主要有两种需求;一种时多维统计分析,一种是用户行为分析(浏览数据) ;通过hudi解决数据入湖问题,再通过按两种需求拆分建设思路;指标问题如传统ads层计 算出结果导致多张汇总表无法对齐去重指标,这里主要以olap系统如doris的rollup解决数据性能及精准性问题;维度: utm、spm、区域、sku、版本号、关键字等指标:用户数、新用户数、浏览量、会话数、曝光数、点击数、点击率、平均访问深度等;加购、收藏等;相关介绍:utm参数:运营推广在第三投放广告,填写相关utm参数
2022-04-01 18:21:38
264
原创 数据治理项目之数据管理模板
前文: 我们可以理解为企业生产过程中,一切皆数据。 数据治理是一个很宽泛的议题,整条数据流所有的点和细枝末节都可以说是数据治理的范畴中。从数据源开始,如果业务库的业务流程不规范,数据不准确;采集上报的数据没有按规范走;那么我最终拿到的报表数据即失真没有了价值;所以说数据治理,是自底向上的,会有很多个项目;本文提供一些个人见解及数据部门建设的一些数据模板。评估、指导和监督的数据决策体系;对存量数据治理和增量数据管控的一个过程;解决数据生产、管理和使用过程中遇到的问题,完善已有的生产管理
2022-01-25 23:00:29
636
原创 Doris (HOLAP),实时数据仓库的王者。
前文: Uniq 模型拳打KUDU、HUDI,Aggregate 模型腿踢Kylin、ClickHouse,Duplicate 模型跟Hive 势不两立。Doris+Flink将会实时数据仓库的重要基石。一、架构及优缺点优缺点明显,使用一个新的技术,就得知道他的局限性,没错,指标列排序过滤慢得离谱。二、建模必须清楚需求和模型的关系!划清维度表(筛选条件/获取属性)和事实表(出指标)。三、查询记得把SQL几个参数调优下!SQL慢去看expla...
2021-05-17 01:59:19
8326
1
原创 维度建模的思考
前文: 维度建模的思考一、思考备注:1. 宽表并不是万能的,明细层可以冗余很多维度(公共+特定)和属性,但是在聚合层的时候很多属性是没有用的,特定维度在跨域的时候也会失效。2. 在聚合层,单域各种粒度/特有维度的宽表,跨域是有一致性维度的宽表,聚合层可冗余属性但大部分时候是取度量的,最后再关联公共维度表把相关维度/属性关联上。...
2021-04-14 00:48:47
203
原创 Socket5实现内网代理
前文:有些监控页面需要内网才能看到,如果你能访问其中一台内网服务器,那么你就能通过设置代理随意访问容易一台服务器。一、服务器安装Socket服务1.1 下载 ss5 RPM 包wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/hydracz:/ss5/RHEL_6/x86_64/ss5-3.8.9-8.1.x86_64.rpm1.2 安装 RPM 包yum loc...
2021-01-22 19:01:21
4380
原创 Ambari 2.7.3_HDP 3.1.0_Centos 7.4.1708 安装
第一章 环境准备注意:以下操作三台机器都需要进行1.1虚拟机准备vim /etc/hosts 配置三台主机地址192.168.1.112 hadoop112 192.168.1.113 hadoop113 192.168.1.114 hadoop1141.2防火墙装备1.2.1临时关闭防火墙命令systemctl stop firewalld1.2.2永久关闭防火墙命令systemctl disable firewalld1.2....
2021-01-21 21:48:52
1009
原创 结合垃圾回收器,查看程序JVM配置
前文: 了解不同应用场景选择的不同垃圾收集器将会帮助我们更好地性能调优。一、垃圾收集器1.1分类备注:结合我查看了大部分服务器程序还是采用-XX:+UseParNewGC -XX:+UseConcMarkSweepGC 注重程序的停顿时间默认系统会采用 -XX:+UseParallelOldGC -XX:+UseParallelGC注重吞吐量我们的Hadoop生态圈,用的腾讯云EMR,组件使用的是-XX:+UseG1GC 兼顾吞吐量和停顿时间...
2021-01-19 12:26:07
264
原创 Flink 知识笔记整理
目录前文:一、概念1.1 架构及调度1.2 执行图1.3 基本流程二、状态与容错2.1 状态一致性2.2 Checkpoint与Savepoint2.3State Backends2.4 State三、API3.1 参数及变量3.2 DataStream API3.3 DataSet API3.4Table API四、Watermark与window4.1 Watermark4.2 window五、其他特性5.1 C...
2021-01-18 19:58:21
516
原创 ClickHouse 知识点整理
前文: ClickHouse是一个强大的OLAP数据库。一、概括二、集群三、优化四、表引擎4.1 表引擎分类4.2表引擎相关说明及写入五、Bitmap
2021-01-14 18:13:43
1404
原创 ClickHouse的bitmap学习之路
前文: Bitmap在大数据领域是一种伟大的思想,在没有Clickhouse出现之前,主流方案是用HBase+Coprocessor通过服务去做整套处理,特别是 (1)用户画像领域,以前ES+HBase的方案及其复杂,现在通过CH的特性,可以完美地转换Bitmap存储+交并查询用户id+返回查询用户信息等一套方案;(2) 以及各种路径,漏斗,留存复购等等分析...一、案例1.1 查看表SELECT *FROMtest.summingmergetree;...
2020-12-29 18:15:33
4666
2
原创 ElasticSearch 知识点整理
一、前文 目前公司有3套ES集群环境:直播业务集群(6节点),论坛业务集群(3节点),日志集群(3节点),应用场景分别为线上直播及订单商品等业务查询、大数据报表数据查询、日志监控等。其中使用Filebeat,Logstash,SparkStreaming等接入数据,Kibana负责监控。二、概念2.1集群2.2读写请求注:该图为其他博主所画,如有侵权请联系删除。2.3 优化2.3.1部署调优2.3.2 配置调优2.3.3 ...
2020-12-26 11:14:49
224
原创 Hive:cannot be cast to org.apache.hadoop.io.XXXWritable 数据类型解决方案
一、1.1 Mysql表CREATE TABLE `scrm_user_crowd` ( `id` int(11) NOT NULL AUTO_INCREMENT, `zb_id` int(11) DEFAULT NULL COMMENT '直播ID', `user_id` varchar(50) DEFAULT NULL COMMENT '用户ID', `name` varchar(255) DEFAULT NULL COMMENT '人群名称', `de...
2020-12-17 16:00:32
8656
2
原创 Davinci BI报表工具~
前文: 外部数据用SparingCloud做数据接口,对内部当然时用BI工具平台提供查询,释放开发,让运营想怎么查就怎么查,缩短开发流程。一、安装1.1 环境1.1.1 JDK1.8略1.1.2 phantomjs#解压bzip2工具yum -y install bzip2yum install fontconfig#下载解压重命名wget https://bitbucket.org/ariya/phantomjs/downloads/...
2020-12-16 12:34:42
9042
原创 Atlas的使用案例
前文:通过使用Atlas绑定Hive,可以跨项目在整个集群上看到所有的数据链路,以备下线数据资产时,能够预防下游数据产出故障,或数据质量出现问题时快速排查及定位。目录一、应用1.1 执行SQL1.2 手写的数据地图1.3 atlas血缘分析1.4 打标签1.4.1 CLASSIFICATION分类1.4.2 GLOSSARY词汇表1.5 字段搜索1.5.1查看表字段1.5.2 追踪字段关系二、安装2.1 编译安装2.1.1 下载源码...
2020-12-14 22:49:53
3757
原创 KUDU 的缺点
前文: Kudu的诞生解决了大数据领域的数据更新和OLAP,但是其缺点也是明显,使用时最好考虑如下。一、情况服务器情况:5台8Core32内存的服务器1.1 CPU使用率1.2 磁盘读流量1.3 磁盘写二、说明2.1 操作大量更新:由于我们知道kudu更新的时候会有一个读过程,所以看到在更新时,读是远远大于写的。但由于读的时候也伴随着CPU的负载的上升,瞬间打满。2.1.1 第一个峰值说明更新的数据量大概是近200万的临时...
2020-10-19 18:30:31
2609
5
原创 Hive及Impala的Map类型使用案例
前文: 当一个用户拥有多个标签(私有属性)或一个标签拥有多个用户时,可以使用map来维护复杂的关系。一、1.1 Impala建表这里使用常用的parquet格式展示drop table if exists hive_map;CREATE TABLE hive_map(id INT, name MAP < STRING, STRING >)STORED AS PARQUET;1.2 Hive插入只能使用MR引擎,否则报错insert i...
2020-09-03 19:49:34
1726
原创 Flink 的流式处理(待更新)
前文: 在用Spark实时标签系统时,遇到了不少问题,如实时性,Exactly-one,故障重跑等问题,感慨到要是懂Flink就好了。所以当项目开发完后,用了半个月基本把基础过了一遍,还重构了下项目重新部署在测试环境中。 在实时流领域,Flink比Spark做得更好,尤其是实时性、时间语义与水位及故障处理这一块。但在批处理领域,Spark依然是一位不可撼动的霸主,它的生态圈更强。 先挖坑(慢慢填笔记~)一、概述1.2算子转换二、时...
2020-08-31 21:04:14
266
原创 Jmeter测试Mysql、Impala、Elasticsearch相关案例
Jmeter 测试案例1.1前文: 主流压力测试工具,一些简单案例,希望大家能举一反三。一、前提 必须有java环境。1.1下载解压https://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.3.zip1.2启动1.3修改语言二、组件说明2.1线程组(必备)2.1.1添加2.1.2配置2.2查看...
2020-08-18 17:18:16
912
1
原创 基于Spark的实时项目架构、心得及相关配置
前文: 一套完整的项目思路及Spark+Redis+Mysql等连接配置框架。一、项目架构1.1实时项目思路1.1.1通过Maxwell解析Mysql的binlog数据,将维度数据同步到Redis,同时将业务数据进行实时关联清洗,发送回Kafka;1.1.2前端埋点日志+后台系统回填的日志 ,发送到另外一个程序,也是通过查询redis进行实时关联清洗,发送回Kafka;1.1.3最后一个程序把控数据落地Mysql(含部分业务进行二次清洗关联查询)1.2数...
2020-08-10 15:03:07
943
原创 CDH 6.1安装过程
前文: CDH的好处太多不一一列举了。一、JDKcd /opt/softwarerm -rf jdk1.8.0_181rm -rf /opt/software/jdk-8u181-linux-x64.tar.gz 所有节点:yum -y install rsyncyum -y install rpcbindmkdir /usr/java/主节点:上传 oracle-j2sdk1.8-1.8.0+update141-1.x86_64 到/usr/ja...
2020-06-15 22:18:37
598
原创 基于监听hdfs文件实现Sparkstreaming优雅关闭
前提: Yarn的Kill和发送信号,Oozie,不是优雅关闭,CDH的关闭是优雅关闭,现在打算弃用CDH,所以基于代码实现监听外部文件系统实现优雅关闭。一、1.实现代码 val hdfsStopPath :String = args(1) var stopFlag = false while (!stopFlag) { //每分钟检测一次 //println("当前检测时间" + new Date()) ssc...
2020-06-15 20:20:07
218
1
原创 采集方式汇集(sqoop、spark、flume、logstash、filebeat)
前文: 数据仓库中ods层一般使用外部表,textfile格式在遇到文本数据时会有分隔符问题,一般默认采用 \001作为分隔符,也可采用parquet作为存储格式,但也会引进数据类型转换的问题。一、Mysql导数据导Hive1.1 建表create external table if not exists ods.ods_stu( `id` int comment '主键Id', `name` string comment '名称',`addtime` stri...
2020-06-04 11:47:39
1217
原创 Kettle实现Hdfs资源的上传下载
Kettle使用策略一、资源库Repository Manager将写好的作业/转换存储在Mysql中,方便共享。二、配置连接配置Hadoop集群版本环境,Pdi 9.1使用的hdp3.0和cdh 6.1三、转换配置Hive表输入:集群为刚才配置好的3.1下载集群资源3.1.1Hive表输入选择对应表+sql 即可。3...
2020-05-07 16:57:08
425
原创 基于累加器实现定时消费Kafka后自动关闭的SparkStreaming
前文: 实时Sparkstreaming将至少占用2个core,当我们对数据实时性要求不高时,可采取定时消费Kafka数据,这里就要思考如何将消费完Kafka的实时程序关闭。一、1、原始实时代码 ssc.start() ssc.awaitTermination()注:这种方式将一直占用core数,对于实时性不高的程序将会造成极大资源浪费...
2020-04-26 14:16:17
500
原创 Maxwell的配置及简单使用
前文: 采集Mysql的binlog同步到Kafka,下游可采用Spark解析对应的Binlog日志发送到不同的数据库。一、配置 1、Maxwell配置vim /opt/maxwell-1.24.0/config.properties#日志log_level=info#Kafka配置producer=kafkakafka.bootstr...
2020-04-17 19:46:23
3769
原创 Spark程序启动资源策略
一、前文 当我们开发完一个Spark项目之后,我们需要多少资源合适?合理的资源参数将帮我们更好地利用集群。二、实验1、代码逻辑//第一次拉取数据val df: DataFrame = spark.read.format("jdbc")//拉取后shuffle.repartition(numPartitions)//第一次全局统计val max_r...
2020-04-16 13:03:37
203
原创 Kudu的介绍及使用
前文: 过往采用Hive的离线处理时效性低,计算任务过于集中,查询效率低。SparkStreaming+Hive的数据清洗线使得多套数据流过于复杂。未来的数据仓库场景越来越趋向于实时数仓。一、引入二、架构图2、架构及数据量3、文件结构4、目录结构5、读写流程及分区策略三、分区及策略四、代码1、通过Spar...
2020-03-27 20:48:53
1095
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人