自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孟知之的搬砖填坑历险记

数据实践者与NLP爱好者

原创 【通用编程】HQL优化技巧

文章目录1.合理使用索引2.使用UNION ALL替代UNION3.避免select * 写法4.避免复杂SQL语句5.避免order by rand()类似写法6.避免全表扫描7.用 exists 代替 in8.尽量使用数字型字段9.尽可能的使用 varchar 代替 char10.避免频繁创建和删除临时表,以减少系统表资源的消耗。11.select into 代替 create table1.合理使用索引索引少了查询慢;索引多了占用空间大,执行增删改语句的时候需要动态维护索引,影响性能。选择率高

2021-10-08 18:14:04 270

原创 【数据中台】初探数据湖-iceberg

文章目录1. 什么是数据湖2. iceberg的特性2.1 优化数据入库的流程2.2 支持更多的分析引擎2.3 统一数据存储和灵活的文件组织2.4 增量读取处理能力3. 数据湖技术催生的新架构3.1 原有方案3.2 新方案4. 新架构应用场景1. 什么是数据湖准确来讲就是数据入湖中间件技术,它并不是一个存储或者计算引擎,它的存在就是更好的将存储和计算解耦,构建与存储格式之上的数据组织方式,并提供ACID(atomicity原子性、consistency一致性、isolation隔离性、durabilit

2021-08-27 15:30:50 513 2

原创 【软技能】万一自己是狼人

在计算机技术里的黑话里,有一颗银色子弹(并不是滚筒洗衣机)可以解决一切问题,而我们一代代人,都在苦苦追求它。每当有新技术出现的时候,就会有人问,XXX 是不是银弹啊?比如说啊,云计算是不是银弹,DDD 是不是银弹,维度建模是不是银弹,阿里的onedata是不是银弹。Fred Brooks(No Silver Bullet—Essence and Accidents of Software Engineering) 将软件开发中的工作分为本质性工作(Essential Task)和附属性工作(Acciden

2021-08-08 14:51:32 76

原创 【数据中台】如何提升数据质量

首先,需要强调的是,数据质量的保证紧靠技术是远远不够的。在实际工作中,在整个数据质量的控制过程中,人的影响最大。所以,要想真正长期保证数据的高质量,可以分事前、事中、事后三个阶段来保障的。事前:建立数据标准,明确数据的定义。事中:建立一个可复用的数据收集,数据预处理和数据维护流程,来应对不断变化的企业内外部因素,在数据预处理流程中设立多个性能监控点(可参考本人写的数据稽核文章)事后:建立流程与制度,并对流程不断进行改善和优化,质量改善非一朝一夕,而是持续的过程,制定数据采集、存储、集成、分析

2021-06-28 11:31:29 354

原创 【计算引擎】OLAP之争:kylin、impala、druid、presto、clickhouse

文章目录1. 即席查询2. Kylin2.1 架构2.2 原理2.3 Cube构建优化3. Impala3.1 架构3.2 优化4. Druid4.1 架构4.2 数据结构4.2.1 DataSource4.2.2 Segment结构5. Presto5.1 架构5.2 数据源6. ClickHouse6.1 特性6.2 架构7.总结1. 即席查询即席查询是用户根据自己的要求,灵活的选择查询条件,系统根据用户的选择生成相应的统计报表,快速的执行自定义SQL。2. KylinApache kylin

2021-06-10 17:41:34 1670 2

原创 【运维部署】数据中心高可用方案

出于灾备的目的,一般都会建设2个(或多个)数据中心。一个是主数据中心用于承担用户的业务,一个是备份数据中心用于备份主数据中心的数据、配置、业务等。备数据中心之间一般有主备(Active-Standby)热备、冷备,双活(Active-Active)备份方式。热备的情况下,只有主数据中心承担用户的业务,此时备数据中心对主数据中心进行实时的备份,当主数据中心挂掉以后,备数据中心可以自动接管主数据中心的业务,用户的业务不会中断,所以也感觉不到数据中心的切换。冷备的情况下,也是只有主数据中心承担业务,但是备用数

2021-05-31 18:30:29 32

原创 【软技能】快速进入行业领域指北

在现今社会中,我们如何快速的进入一个行业并成为行业专家是一个非常重要的能力,它能给你带来更多的收益,并能抗拒内卷,完成终生价值。本文个人总结得益于从研究生阶段开始,就跟随导师与各类公司高管打交道,并且在参加工作之后也一直在核心部门,所以会接触到很多行业专家,每一次的开会和沟通都会有不小的收获。由此经历总结出来四个关键点:塑造行业知识图谱快速了解这个行业的100个关键词,把每一个关键词的属性和关联结构化,变成网状结构,变成知识图谱。了解该行业中典型的五个老公司和五个新公司,关注这些公司的报告分析,随

2021-05-17 00:01:50 106 2

原创 【自然语言处理】词性标注-HMM算法

traindata.txt的数据格式Newsweek/NNP,/,trying/VBGto/TOkeep/VBpace/NNwith/INrival/JJTime/NNPmagazine/NN,/,announced/VBDnew/JJadvertising/NNrates/NNSfor/IN1990/CDand/CCsaid/VBDit/PRPwill/MDtag2id, id2tag = {}, {} # maps tag to id . tag2id:

2021-05-13 19:07:05 331 3

原创 【数据中台】维度建模指北

文章目录1. 建模流程2. 迭代流程3. 维度表4. 事实表1. 建模流程确认每个主题域,明确范围,即事实表清单。根据业务流程(比如投保->承保->…)拆分相关实体确认维度:维度退化:who?when?where?根据不同实体内容(比如域中完全不相关的独立实体)拆分不同事实表根据粒度, (粒度,一行数据代表:一条保单?一条批单?一天的保费?)对事实表进行拆分(比如主表,明细表等)2. 迭代流程根据需求迭代:事实表关联实体清单:按需添加相关的实体;在事实表中按需添加属性和

2021-05-01 12:37:19 354

原创 【通用编程】get和post两种基本的请求方法

1. 基本区别区别getpost传输数据方式从服务器上获取数据向服务器传送数据传参方式把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程数据量传送的数据量较小,不能大于2KB传送的数据量较大,一般被默认为不受限制安全性低高2. get与post的本质

2021-04-28 21:17:02 235 1

原创 【数据中台】数据质量原因分析

在进行数据统计时,经常会对数据的准确性产生质疑,如果出现较为明显的偏差,就很容易发现数据是不对的。但如果数据只有小幅度的偏差,就很难感受到,造成数据质量的原因有几种,下面分别说明:1. 网络异常网络异常是导致数据质量的直接原因之一。举几个栗子,比如我们在使用APP时,可能因为网络异常,导致用户的操作行为并没有被及时发送到统计服务器端;或者这些服务是SaaS服务,在一些网络的高峰期,此时有大批量的用户向服务提供商发送行为数据,这样就容易导致网络拥堵,就像春运期间在12306网站抢车票一样,容易导致某

2020-08-26 20:14:29 341

原创 【用户画像】标签数据开发

文章目录2.1 统计类标签开发2.2 规则类标签开发2.3 挖掘类标签开发2.4 流式计算标签开发2.5 用户特征库开发2.6 数据监控预警标签数据开发是用户画像体系搭建中最主要的环节,主要包括离线标签开发、实时类标签开发、用户特征库开发、打通数据服务层等开发内容。2.1 统计类标签开发这类标签开发相对简单,根据数据口径来就行。2.2 规则类标签开发规则类标签一般是指根据业务运营上的需要,在业务层面制定规则的标签,一般开发前需要进行数据调研,摸清本平台上业务数据的情况,然后再根据运营业务规则开发相

2020-08-21 00:33:22 509

原创 【用户画像】项目规划

文章目录1.1 标签类型1.2 数据架构1.3 开发流程1.4 画像应用的落地1.5 画像表结构设计1.6 规划数据指标体系用户画像是数据仓库上的一个应用方向,针对用户个性化推荐,精准营销,个性化服务等多样化服务,对数据应用体系层级划分:1.1 标签类型1.统计类标签此类标签是最为基础也最为常见的标签类型,例如,对于某个用户来说,其性别,年龄,近7天活跃时长等字段可以从用户注册数据,用户访问,消费数据中统计得出。2.规则类标签该类标签基于用户行为以及确定的规则产生。例如,对平台上的“活

2020-08-18 23:17:07 294

原创 【数据中台】学习摘录-关键支撑技术

文章目录1. 元数据管理1.1 数据地图1.2 指标管理1.2.1 现状:指标混乱1.2.2 规范化定义指标1.2.3 构建全局的指标字典2. 数据模型设计3. 数据质量3.1 提高数据质量方法4. 成本优化5. 数据安全6. 数据研发流程管理1. 元数据管理数据中台的支撑技术大致可以分为元数据管理,指标管理,模型设计,数据质量等。首先先说说在数据中台占首要位置的元数据管理。在提到数据中台的构建,必然提到元数据,那元数据都涉及什么呢?比如,为了确保全局指标的业务口径一致,要把原先口径不一致的、重复的指

2020-06-22 15:17:36 2766

原创 【数据中台】学习摘录-数据中台建设

文章目录1 数据中台建设1.1 数据只处理一次1.2 数据即服务1.3 数据中台方法论总结1 数据中台建设1.1 数据只处理一次在未做数据中台之前,每个部门都会有一些小的数仓去完成本部的数据分析任务。而数据中台就是要在整个业务形成一个公共数据层,消灭这些跨部门的小数仓,实现数据复用,强调的是数据只加工一次。那么要实现数据只加工一次,需要做五个方面的工作:分主题域管理命名规范定义指标一致数据模型复用数据完善1.2 数据即服务数据中台的数据用该是通过API接口的方式被访问。这么做有什

2020-06-19 16:17:41 352

原创 【运维部署】anaconda上GUI启动zsh环境终端错误

很久没有在mac上折腾tensorflow了,用anaconda的GUI来登终端,出现了问题。之前其实遇到过,但是忘了怎么处理了。具体处理方法参考:https://iaside.com/archives/455第一步,打开iterm2,切换bash环境。bash第二步,手动启动环境。source activate tensorflow37(虚拟环境名)搞定!...

2020-06-16 16:56:55 256

原创 【数据中台】学习摘录-数据采集

文章目录1. 数据采集1.1 日志采集1.2 数据同步1.2.1 批量数据同步1.2.2 实时数据同步1.3 数据同步遇到的问题与解决方案1. 数据采集1.1 日志采集数据采集为大数据系统体系的第一环,建立一套标准的数据采集体系方案,可以全面、高性能、规范地完成海量数据的采集,并将其传输到大数据平台。数据采集分为日志采集和数据库同步两部分,其中日志采集主要指的是埋点数据,其数据来源可来自浏览器与无线客户端。《阿里大数据之路》书中分享了两个案例,分别对应了两个思想。日志分流与定制处理考虑到阿里日

2020-06-14 18:47:02 1008

原创 【数据中台】学习摘录-纵观数据中台

文章目录1. 做数据中台的前提1.1 那如何如何挖掘业务的痛点呢?1.2 推进数据中台项目落地这段时间将极客时间上的网易的《数据中台实践》与《阿里的大数据之路》粗略的看了一遍(两本书写的内容涉及面非常之多,也有很多细节没有展开,但都是非常好的数据中台指南,两本内容侧重点不同,网易的更偏实践,阿里更偏理论,都适合放在案台用作工具书翻看),也将整个数据架构梳理了一遍,对数据中台有了更深层次的理解,也看清了数据中台在整个公司中的战略位置。下面我将梳理一些我所学到,理解的数据中台及实现方案。首先,先说明结论,数

2020-06-07 12:04:39 512

原创 【存储引擎】Redis要点总结

文章目录1. 缓存穿透1.1 带来的问题1.2 解决办法1.2.1 缓存空值1.2.2 BloomFilter1.2.3 如何选择2. 缓存击穿2.1 带来的问题2.2 解决办法3. 缓存雪崩3.1 解决办法3.1.1 事前:使用集群缓存,保证缓存服务的高可用3.1.2 事中:使用 ehcache 本地缓存 + Hystrix 限流&降级 ,避免 MySQL 被打死的情况发生3.1.3 事后:开启 Redis 持久化机制,尽快恢复缓存集群4. 热点数据集中失效4.1 解决办法4.1.1 设置不同的失

2020-06-01 22:37:09 291

原创 【计算引擎】Spark和Hive中数据倾斜的情况分析及解决方案

文章目录1. 数据倾斜是什么2. 数据倾斜的表现2.1 Hive中的数据倾斜2.2 spark中的数据倾斜3. 数据倾斜的原因3.1 Shuffle3.2 数据本身3.3 业务逻辑4. 数据倾斜的解决方案5.举个栗子5.1 由空值造成的数据倾斜5.2 count(distinct)的倾斜问题5.3 不同数据类型关联产生数据倾斜5.4 小表不小不大,怎么用 map join 解决倾斜问题6.总结1. 数据倾斜是什么数据倾斜就是我们在计算数据的时候,数据的分散度不够,导致大量的数据集中到了集群中的一台或者几

2020-05-23 22:58:20 584 2

原创 【计算引擎】Hive外部表的适用场景及原因

在实际的生产环境中,建议在ods层使用外部表。原因:外部表不会加载数据到Hive的默认仓库(挂载数据),减少了数据的传输,同时还能和其他外部表共享数据。使用外部表,Hive不会修改源数据,不用担心数据损坏或丢失。Hive在删除外部表时,删除的只是表结构,而不会删除数据。...

2020-05-23 22:57:14 434

原创 【计算引擎】Flink要点总结

文章目录1. 什么是Flink?2. Flink的组件栈3. Flink集群运行时的角色及其作用4. Flink分区策略5. Flink容错机制6. Flink计算资源的调度是如何实现的?1. 什么是Flink?Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。并且 Flink 提供了数据分布、容错机制以及资源管理等核心功能。Flink 提供了诸多高抽象层的 API 以便用户编写分布式任务:DataSet API, 对静态数据进行批处理操作,将静态数据抽象成分布式的数据集

2020-05-21 00:12:03 339

原创 【存储引擎】hbase的读取写入及常见数据源导入hbase代码实现

文章目录1. 特点2. Hbase数据读取与数据写入2.1 数据读取2.2 数据写入HBase是一个高可靠性,高性能,面向列、可伸缩的分布式存储系统,利用HBase技术可以在廉价的PC Sever上搭建起大规模结构化存储集群。1. 特点海量存储,适合存储PB级别的海量数据,在PB级别的数据以及采用廉价pc存储的情况下,能在几十到百毫秒内返回数据。列式存储,HBase是根据列族拉开存储数据的,列族下面可以有非常多的列,列族在创建表的时候就必须制定。极易扩展,其扩展性主要表现在两个方面,一个是基础上

2020-05-20 09:37:52 243

原创 【计算引擎】实时计算相关问题及解决方案

文章目录1. 怎么处理 Spark structured streaming 慢速变化数据 join 的问题?2. kafka不稳定导致Spark Streaming不稳定1. 怎么处理 Spark structured streaming 慢速变化数据 join 的问题?问题:从 MySQL 的一个表里面提取 metadata 然后和 structured streaming 的实时数据做 ...

2020-05-07 09:22:04 274

原创 【存储引擎】Hbase Rowkey设计-总结与举个栗子

文章目录Hbase RowKey设计三个设计原则及相应实现方法其他经验举个栗子Hbase RowKey设计想要设计一个合适的Rowkey,首先需要了解Hbase通过RowKey检索数据的三种方式:通过单个row key访问:即按照某个row key键值进行get操作;通过row key的range进行scan:即通过设置startRowKey和endRowKey,在这个范围内进行扫描;...

2020-04-24 20:43:40 288

原创 【数据分析】AB测试&&灰度发布

文章目录AB测试灰度测试(发布)AB测试所谓的AB测试其实与高中生物中实验对照组的概念一样,主要就是将实验对象进行分桶。打个比方,可以假设实验对象为用户,那么AB测试主要就是将实验对象进行分桶,即将实验对象分成实验组和对照组,对实验组的用户施以新模型,对对照组的用户施以旧模型,再分桶的过程中,要注意样本的独立性和采样方式的无偏性,确保同一个用户每次只能分到同一个桶中,在分桶过程中所选取的use...

2020-04-22 22:35:39 597

原创 【数据分析】拿到新数据分析需求不知如何下手?可以试试5W2H分析法

5W2H分析法又称七何分析法,广泛应用于企业管理和技术研发上。其中:what:目的是什么?做什么工作?how:怎么做?如何提高效率?如何实施?方法怎样?why:为什么?为什么要这么做?理由何在?原因是什么?造成这样的结果为什么?when:何时?什么事件完成?什么时机最适宜?where:在哪里做?从哪里入手?who:谁来做?由谁来实施?谁负责?how much:多少?做到什么程度?...

2020-04-19 23:50:55 127

原创 【计算引擎】如何实现SparkStreaming程序的高可用与断点续传

文章目录解决7*24小时稳定运行解决在程序升级的条件下,实现断点续传解决7*24小时稳定运行首先,为了保证实时计算程序可以7*24小时能稳定运行,则第一个考虑就是要实现SparkStreaming对接Kafka实时计算程序HA高可用。保证master高可用,worker节点的失败是具有容错性的(迄今为止,Spark自身而言对于丢失部分计算工作是有容错性的,它会将丢失的计算工作迁移到其他w...

2020-04-19 22:06:36 314

原创 Github有趣项目集锦(持续更新中)

dolphinscheduler分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。...

2020-04-15 14:13:49 332

原创 【计算引擎】spark任务参数配置优化真实案例记录

文章目录1.Spark 任务调度优化2.Spark 应用配置优化3.硬件优化4.SQL优化方法1.Spark 任务调度优化将4台Worker机器的 CPU 使用率进行对比分析,发现 CPU 使用率有些蹊跷的地方,通过观察其CPU使用率,可以发现在第一个 job 的第二个阶段,第三台机器的 CPU 使用率和其他机器明显不同,也就是说计算资源利用不均衡,这种有忙有闲的资源分配方式通常会引起性能问题...

2020-04-13 22:45:16 164

原创 【通用编程】Java-Hashmap JDK1.7&&1.8

文章目录java 常见数据结构hashmapjava 常见数据结构数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),当然,对于有序数组,则可采用二分查找,插值查找,斐波那契查找等方式,可将查找复杂度提高为O(logn);对于一般的插入删除操作,涉及到数组元素的移动,其平均复杂...

2020-04-12 00:20:24 156

原创 【存储引擎】Kafka面试要点总结

文章目录Kafka1. 消息队列2. Kafka架构3. kafka 高吞吐量的原因4. Kafka监控5. Kafka丢不丢数据?6. Kafka幂等性7. Kafka消息数据积压,Kafka消费能力不足怎么处理?Kafka在流式计算中,kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。kafka是一个分布式消息队列,kafka对消息保存时根据Topic进行归类,发送消...

2020-04-11 19:03:34 144

原创 【数据治理】数据治理工具-元数据管理

数据治理里面最关键的元数据管理,元数据打通数据源、数据仓库、数据应用,记录了数据从产生到消费的完整链路。它包含静态的表、列、分区信息(也就是MetaStore);动态的任务、表依赖映射关系;数据仓库的模型定义、数据生命周期;以及ETL任务调度信息、输入输出等。元数据是数据管理、数据内容、数据应用的基础。例如可以利用元数据构建任务、表、列、用户之间的数据图谱;构建任务DAG依赖关系,编排任务执行序...

2020-04-07 18:40:33 4581

原创 【计算引擎】SparkStreaming、StructuredStreaming、Flink、Storm 对比

Spark StreamingSpark Streaming 是Spark Core 的扩展,可实现实时数据的快速扩展,高吞吐量,容错处理。数据可以从很多来源(如 Kafka、Flume、Kinesis 、HDFS、Twitter等)中提取,并且可以通过很多函数(能够和Spark Core、Spark SQL来进行混合编)来处理这些数据,处理完后的数据可以直接存入数据库或者 Dashboard...

2020-04-04 21:04:31 661

原创 【计算引擎】水塘抽样算法

spark中的分区器有三种:1.HashPartitioner分区可能HashPartitioner导致每个分区中数据量的不均匀。2.RangePartitioner分区尽量保证每个分区中数据量的均匀,将一定范围内的数映射到某一个分区内。分区与分区之间数据是有序的,但分区内的元素是不能保证顺序的。(这里其实就用到了水塘抽样算法)3.自定义那水塘抽样算法是什么呢?能解决什么类型的问题呢?问...

2020-04-02 23:32:46 365

原创 数据好文URL集锦(持续更新中)

数据仓库实践之业务数据矩阵的设计:https://blog.csdn.net/zhaodedong/article/details/85528774漫谈数据仓库和范式:https://blog.csdn.net/zhaodedong/article/details/85294087一种通用的数据仓库分层方法:https://blog.csdn.net/zhaodedong/article/de...

2020-04-02 09:28:14 182

原创 【数据中台】数据质量稽查的一些思考

1.数据质量的重要性在日常工作中,我们经常会遇到各种数据问题。往往大项目会有专人去做持续的数据治理工作,而体量较小的项目其实也可以做一些轻数据治理-数据质量监控工作。数据最终是要服务于业务价值的,那么保证数据质量一定是数据分析和数据挖掘结论有效性和准确性的基础,也是数据驱动决策的前提。数据质量,主要从四个方面进行评估,即完整性、准确性、一致性和及时性。完整性:指数据的记录和信息是否完整...

2020-04-02 00:43:24 1708

原创 【软技能】程序员的自我修养-代码注释

最近公司开始代码review,使我对代码注释有了更胜层次的理解。注释首先要告诉维护的人这段代码是谁写的。函数头注释应该描述函数调用的前置条件和后置条件。注释不是描述代码做了什么而是描述为什么这么做。好的代码注释应该告诉后来人维护的思路。作者在写代码时已经考虑了后续版本的需求哪里可能会变化,变化后只要怎么修改一下哪里的代码就可以支持。这样的代码注释看起来很舒心,作者是有思想的,也是负责...

2020-03-24 23:33:04 213

原创 【计算引擎】spark笔记-spark性能优化

文章目录1. spark基本概念2. 数据倾斜优化2.1 数据倾斜是什么?2.2 如何定位数据倾斜?2.3 数据倾斜的几种典型情况2.4 缓解数据倾斜-避免数据源的数据倾斜2.5 缓解数据倾斜-调整并行度2.6 缓解数据倾斜-自定义Partitioner2.7 缓解数据倾斜- Reduce side Join转变为Map side Join2.8 缓解数据倾斜-两阶段聚合(局部聚合+全局聚合)2....

2020-03-20 00:36:38 282

原创 【计算引擎】spark笔记-shuffle及通信设计、内存

文章目录1.spark shuffle1.1 mapreduce shuffle过程1.1.1 Spill过程1.1.2 merge1.1.3 copy1.1.4 merge sort1.2 Hash Shuffle过程1.3 Sort Shuffle 过程1.4 spark目前运作的实现模式1.5 mapreduce和spark的shuffle区别2. spark 内存管理3. Spark RP...

2020-03-18 17:00:45 173

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