![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 81
木东居士
数据搬运工一只,欢迎光临个人小站:http://www.mdjs.info/about/
展开
-
漫谈数据仓库之维度建模
0x00 前言 下面的内容,是笔者在学习和工作中的一些总结,其中概念性的内容大多来自书中,实践性的内容大多来自自己的工作和个人理解。由于资历尚浅,难免会有很多错误,望批评指正!概述数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容:以Hadoop、Spark、Hive等组建为中心的数据架构体系。各种数据建模方法,如维度建模。调度系统、元数原创 2017-01-07 14:57:30 · 22320 阅读 · 2 评论 -
No.14 【大数据算法】BitMap的原理和实现
0x00 前言本篇是大数据算法系列 第一篇《BitMap的原理和实现》,BitMap 的思想的和原理是很多算法的基础,因此我们以BitMap开篇。既然是说大数据算法,我们先尝试给大数据算法一个定义,或者说是限定一下这个系列的范围。 大数据算法:在给定的资源约束下,以大数据为输入,在给定时间约束内可以计算出给定问题加过的算法。大数据算法会有传统的算法有不一样的地方:资源有约束时间有约束大数原创 2017-10-09 20:33:48 · 1015 阅读 · 1 评论 -
No. 15【大数据算法】Bloom Filter 的原理和实现
0x00 前言 Bloom Filter 是由 Burton H. Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员。 Bloom Filter 最初的论文发表在ACM,名为《Space/Time Trade-offs in Hash Coding with Allowable Errors》,感兴趣可以下载阅读。本篇主原创 2017-10-09 20:34:22 · 1060 阅读 · 1 评论 -
No.17【大数据算法】Bloom Filter 的数学背景
0x00 前言 程序员应该无所畏惧,所以,一起来推导数学公式吧!上文我们分享了 Bloom Filter 的基本原理和代码实现,在文章的结尾提到了 BF 的误判率以及几个重要参数的选取,我们只给出了最后的公式,而没有具体的推导过程。 这是会被狠狠地挑战的,本着追根刨底的精神,我们推导一下 BF 相关的数学公式。文章结构本文会分享关于 BF 的三个知识点:错误率公式的推导最佳哈希函数个数的推原创 2017-11-04 20:48:46 · 623 阅读 · 0 评论 -
No.19 Counting Bloom Filter 的原理和实现
0x00 前言标准的 Bloom Filter 是一种比较简单的数据结构,只支持插入和查找两种操作。在所要表达的集合是静态集合的时候,标准 Bloom Filter 可以很好地工作,但是如果要表达的集合经常变动,标准Bloom Filter的弊端就显现出来了,因为它不支持删除操作。这就引出来了本文要谈的 Counting Bloom Filter,后文简写为 CBF。0x01 原理一、BF 为什么不原创 2017-11-04 20:50:38 · 1676 阅读 · 0 评论 -
Markdown学习笔记:如何画流程图
如何使用markdown画流程图话说网上关于使用markdown画流程图的相关的教程真是一堆堆的坑,我丝毫不怀疑这些博文作者确实是知道如何使用markdown画流程图了,但是写出来的文章却丝毫没有明白具体的使用方法,于是有了这篇学习笔记。如何画流程图流程图画在哪了先说一下网上我搜的那些博客都没有说清楚的一点,流程图在markdown里面的体现形式。在markdown语法中,流程图的画法和代码段类似,原创 2015-08-15 00:18:01 · 26835 阅读 · 10 评论 -
No.20 不深入而浅出 Roaring Bitmaps 的基本原理
0x00 前言位图索引被广泛用于数据库和搜索引擎中,通过利用位级并行,它们可以显著加快查询速度。但是,位图索引会占用大量的内存,因此我们会更喜欢压缩位图索引。 Roaring Bitmaps 就是一种十分优秀的压缩位图索引,后文统称 RBM。压缩位图索引有很多种,比如基于 RLE(Run-Length Encoding,运行长度编码)的WAH (Word Aligned Hybrid Compre原创 2017-11-04 20:52:52 · 5681 阅读 · 1 评论 -
漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)
0x00 前言 本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用原创 2017-01-07 20:15:32 · 61805 阅读 · 12 评论 -
你了解你的数据吗(筑基篇)
0x00 前言 刚入行做数据开发的时候经常听企业导师讲,你要有数据的意识,不能只知道闷着头来一个需求接一个,要从业务的角度来理解数据,这样你的职业线才能更长。本篇不会分享和业务强相关的数据 Sense,但是会引入一些各种业务都会涉及的最基本内容:数据核心维度分布:核心业务维度分布,主要是指像年龄、地域、性别之类的维度分布。数据口径:数据口径可以理解为同名字段在不同表中的取值范原创 2018-01-21 14:03:42 · 1046 阅读 · 0 评论 -
你了解你的数据吗(结丹篇)
0x00 前言结丹篇是《你了解你的数据吗》第四篇,本篇主要聊的内容主要和数据质量监控有关,之前在《数据质量监控》专门分享过相关内容,那篇文章主要从一个宏观的整体来看待质量监控,内容包括架构、设计和实现多个方面,但是对于数据质量监控本身的内容并没有一个比较体系化的梳理,本篇就来做这件事。0x01 数据质量监控我们将要分享的数据质量监控,不是单指数据异常,而是对数据各个角度的描述。原创 2018-01-21 14:04:07 · 893 阅读 · 0 评论 -
No.28 你了解你的数据吗(练气篇)
0x00 前言数据一道,可深可浅,可大可小。同为数据人,新手和老鸟亦有很大差别。本篇是了解数据的入门篇,包含两部门内容:数据接入,你的掌控力如何?主要聊一聊数据接入人员对自己接入数据的了解的程度。数据的坑,你总结了多少规律?在数据接入和基本的数据处理中,会遇到很多数据异常,这些异常你是否已经总结出了规律并纳入到了自己的知识体系。0x01 数据接入量,你知道多少?如果你原创 2018-01-13 19:39:18 · 795 阅读 · 0 评论 -
《数据仓库实践》
序言2017 年初,我开始在简书上写关于数据仓库的系列博客,博客主题围绕大数据场景下数据仓库的理论和实践来展开,截止现在已有十篇左右。最初写作的时候主要是抱着学习和总结的态度,导致很多地方略显粗糙和不严谨,加上这一系列的博客也收到了不少读者朋友的反馈,我就有了重新整理一遍该系列的想法。因此,17 年底,开始利用周末的时间开始对之前的一些博客进行重写,并补齐一些之前没有提到的知识点,将之前的一系原创 2017-11-27 19:02:49 · 3156 阅读 · 1 评论 -
漫谈千亿级数据优化实践:一次数据优化实录
0x00 前言 即使没有数据倾斜,千亿级的数据查询对于系统也是一种巨大负担,对于数据开发来说,如何来优化它,既是挑战,也是机遇!在上一篇文章 《漫谈千亿级数据优化实践:数据倾斜(纯干货)》中,我们分享了一些在千亿级数据优化实践中和数据倾斜相关的内容。本文将分享千亿级数据优化的另个一点:如何使用使用数据!注意: 本文会限定一些业务场景和技术架构,因此解决方法会局限于此。很多问原创 2017-06-19 19:44:24 · 5407 阅读 · 2 评论 -
你了解你的数据吗(元婴篇)
0x00 前言本篇是《你了解你的数据吗》的第五篇,在前面的几篇文章中,我们聊到了数据接入量、数据的坑、数据核心维度分布、数据口径和数据质量监控。本篇将引入一个新的概念:数据血缘分析 ,或者叫血统分析。0x01 血缘分析那么什么是数据血缘分析呢?在这里我们不给出它的严谨的定义,仅从感觉上来解释一下这个东西。 数据血缘,我们可以大致理解为是一个表的生成过程。它依赖了哪些表,原创 2018-01-28 17:31:25 · 1106 阅读 · 0 评论 -
No.10 MapReduce 编程模型极简篇
0x00 前言回想自己最初学 Hadoop 的时候,初衷是写MapReduce程序,但是搭建单机环境折腾一周,搭建分布式环境折腾一周,跑个Demo解决一下Bug又一周过去了。最后都忘了自己是想学 MapReduce 的。感觉自己虽然是搞Hadoop的,但是写MR比自己想的要少很多。初期是花了很多精力在安装以及集群的各种日常维护,熟悉Hive后就经常用Hive来解决问题,然后逐渐地各种任务过度到了Sp原创 2017-10-09 20:33:31 · 592 阅读 · 0 评论 -
No.9 数据工程师该如何入门?
0x00 前言最近发现身边有不少小伙伴想转行做数据工程师,聊天的过程中发现大家对该如何入门有很多迷茫的地方,周末写篇博客记录一下。哪些人适合继续阅读数据工程师该如何入门?话题有点大,而且每个人的理解都很不一样,因此我们会先限定一下会对这个话题感兴趣的人群:做了几年其它软件开发,发现大数据方向更有前景在校的童鞋,毕业后想搞数据开发,但是学校没相关课程没搞过软件开发,对之前的工作没信心想搞互联网,原创 2017-10-09 20:33:11 · 1313 阅读 · 1 评论 -
漫谈数据质量监控
0x00 前言 往往那些不起眼的功能,最能毁掉你的工作成果。本篇分享一些和数据质量监控相关的内容。数据质量监控是一个在快速发展的业务中最容易被牺牲和忽略的功能,但是它确实至关重要的。 假设你做了100个业务,一旦有其中一个业务在某个时间段出现了数据异常,这个异常还是由业务方发现的而不是你,根据我的经验是,它带来的负面影响会超过你之前做的100个业务带来的正面影响。文章结构数据质量监控的意义和价原创 2017-06-17 21:50:36 · 11681 阅读 · 1 评论 -
Google和Linkedin的老司机是如何管理海量数据的
0x00 前言 本篇分享是元数据管理的内容,主要参考Google在2016年发布的论文《Goods: Organizing Google’s Datasets》以及 Linkedin在2016年新开源的项目:WhereHows,当然也有笔者的一点理解。Google的论文整体描述十分详细,可以作为理论来学习,LinkedIn已经开源了一个版本的系统,可以看成最佳实践。两者结合起来,还是很能拓展思原创 2017-06-17 21:49:18 · 2970 阅读 · 0 评论 -
漫谈数据仓库之SCD(缓慢变化维度)
0x00 前言本文会分享数据仓库中和缓慢变化维度相关的内容。在看之前建议回顾一下和维度建模相关的知识点,可参考这篇博客:《漫谈数据仓库之维度建模》。为什么会分享这个听起来很奇怪的东西?因为站在的笔者的视角中,只要是做数据仓库的小伙伴们,在工作中基本上都会接触和维度建模相关的内容,而谈到维度建模,就少不了会和维度表打交道。我们要谈的就是维度表相关的知识点。在正式开始之前,先解释一下什么是缓慢变化维度。原创 2017-04-11 11:16:02 · 3861 阅读 · 0 评论 -
漫谈数据仓库之基本概念总结(不断更新)
0x00 前言 整理一些数据仓库中的常用概念。大部分概念不是照搬书上的准确定义,会加入很多自己的理解。0x01 概念数据仓库(Data Warehouse) 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。个人理解,数据仓库不单单是一个概念,其实算是对数据管理和使用的一种方法论,它包括了如何原创 2017-06-17 21:48:47 · 3673 阅读 · 0 评论 -
漫谈千亿级数据优化实践:数据倾斜(纯干货)
0x00 前言 数据倾斜是大数据领域绕不开的拦路虎,当你所需处理的数据量到达了上亿甚至是千亿条的时候,数据倾斜将是横在你面前一道巨大的坎。 迈的过去,将会海阔天空!迈不过去,就要做好准备:很可能有几周甚至几月都要头疼于数据倾斜导致的各类诡异的问题。郑重声明: 话题比较大,技术要求也比较高,笔者尽最大的能力来写出自己的理解,写的不对和不好的地方大家一起交流。有些例子不是特别严谨,一原创 2017-04-23 18:29:24 · 4160 阅读 · 1 评论 -
我对大数据算法的认知
0x00 前言总结一下自己对大数据算法认知的过程。正文包含两部分:对算法的认知过程和最终笔者对大数据算法的理解。写这篇博客的原因有很多,总的来讲有下面几点:自己在算法的路上一直懵懵懂懂,现在刚刚有了一点点头绪,赶快做个记录。梳理清楚自己的思路,后续会有一个算法学习的一到两年的计划,这算是个引子。谈起算法大家都只会想到经典算法和机器算法,除此之外还有很多有意思的算法,特别是为了解决大数据量问题的原创 2017-07-31 20:11:11 · 14559 阅读 · 1 评论 -
No.5 使用 PageRank 找到关系网中的牛人
0x00 前言社交关系数据已经准备就绪,PageRank算法的原理和实现我们也已经大致掌握,下面就可以在此基础上做一些有意思的事情了。本篇会在前面抓取的500w简书的粉丝数据上,使用 PageRank 找到其中的排名靠前的用户。0x01 前期准备1. 数据准备数据的存储格式如下,这也是我们在生产环境中经常使用的数据格式,因此在爬虫获取的阶段已经处理完毕。这份数据是一个有向图,左边为用户,右边为他的粉原创 2017-09-15 20:22:26 · 580 阅读 · 0 评论 -
No.6 闲聊4年大数据经历
0x00 前言周末闲来无事,想到从13年接触大数据这个名词,到现在也有4年的时间了,随便聊一聊自己和大数据接触的那些经历。0x01 大数据 “什么是大数据?”这个问题其实挺难回答的,因为随着技术和时代的变化,一些名词总是被赋予不同的概念,大数据也是,在居士的认知历程中,大数据的概念在某个时期有很广的含义,然后过了一段时间之后,就被划分出来了一些,然后又被划分出来一些,不知道以后还会是什么样子。原创 2017-09-15 20:23:16 · 836 阅读 · 0 评论 -
No.7 Hadoop之父Doug Cutting在清华的讲座记录
0x00 前言2014年,Hadoop之父Doug Cutting在清华开了一次讲座,当时三个小伙伴一起翘班骑自行车到现场听了这场讲座,很认真地做了笔记。 现在翻出来回顾一下感觉还是有不少感触的,稍加整理分享出来。0x01 讲座记录整个讲座约一个小时,两点半左右开始,前半个小时左右Doug Cutting 总共大概7张PPT,后半个小时互动。Doug Cutting总共讲了大概7张PPT,每张PPT原创 2017-09-15 20:24:08 · 1304 阅读 · 0 评论 -
No.8 秀一下Doug Cutting亲笔签名的《Hadoop权威指南》
秀一下 Doug Cutting 亲笔签名的《Hadoop权威指南》,听讲座的时候提问送书,结束后找了 Doug Cutting 签名并合影。当初三个要搞大数据的小伙伴一起屁颠屁颠地骑自行车跑到清华听讲座,几年后一个搞运维了、一个搞JavaWeb了,就剩我一个搞数据工程了。作者:dantezhao |简书 | CSDN | GITHUB个人主页:http://dantezhao.com 文章可以转原创 2017-09-15 20:24:35 · 622 阅读 · 1 评论 -
No.0 写博客那些事
0x00 写在前面有一段时间没有好好写点东西了,经过前段时间的折腾和思考,总算能够静下心好好想一想后续的学习规划,顺便开始新的博客写作旅途。0x01 我的博客时间轴2009年~2013年2009年,我开通的自己的第一个博客,那时候用的是用网易博客,用来装一下文艺,大概三四年,写了十多篇水文和一些小诗。(现在看起来特别逗)2015年初2015年初我注册了第二个博客,也是我的第一个技术博客,在csdn博原创 2017-09-10 09:46:01 · 398 阅读 · 0 评论 -
No.1 聊一聊数据获取和爬虫
0x00 前言为什么要把数据获取、爬虫放在一起来聊呢?居士是想成为一名数据科学家的!数据科学家就要具备很多的技能,什么统计学、数据挖掘、数据仓库、大数据计算、数据可视化等等。但是,首先我们要有数据,没有数据我们玩什么?想要玩数据,我们就要来聊一下数据获取,数据获取有很多途径,爬虫算是其中最自力更生的技能了,而实现爬虫又和图论的知识有很深的联系,因此在聊得时候还要顺便聊一下图论。0x01 数据获取我们原创 2017-09-10 09:46:45 · 563 阅读 · 0 评论 -
No.2 从0写一个爬虫,爬取500w好友关系数据
0x00 前言上一篇文章已经写了一部分数据获取和爬虫的内容,这篇文章我们一起来实现一个网络爬虫,用这个小爬虫来爬取500w的简书的粉丝关系对。1. 两个小问题为什么要爬关系对数据呢,爬些文字数据岂不更好?为什么要爬关系对数据?因为居士最近正在搞和社交关系相关的项目,需要对大量的关系数据做处理,而且要用到 LPA 、 PageRank 这些算法,写博客本来就需要为自己学习和工作来服务,为了加深自己的理原创 2017-09-10 09:47:21 · 3012 阅读 · 1 评论 -
No.3 漫谈数据开发工程师的技术广度
0x00 前言今天和朋友在聊天,聊到怎样在面试和与人沟通的过程中体现自己的技术广度,感觉挺有意思,整理分享一下。分两个点来聊:1.有哪些方面的技术广度可以提高;2.怎样提高。其中第一个点可以近似地转换为数据开发工程师的技能树,有所不同,但是可以按照这个思路来考虑。数据开发工程师这个职位其实可以干很多事情,因为凡是和数据相关的东西基本上都会有数据开发工程师的身影。比如说推荐系统,虽说会有推荐算法的存在原创 2017-09-10 09:47:55 · 724 阅读 · 1 评论 -
No.4 聊一聊 PageRank 的原理和实现
0x00 前言Google出品必属精品!作为一名生长在Google大树下的草根程序员,Google的各种技术还是好好膜拜一下的。仔细也一想自己也算看了不少Google不少的论文:Goods、Spanner、F1、GFS、MapReduce、BigTable和Dremel。不过Google成名的PageRank算法没怎么重视,正好最近工作和业务时间都玩了一下,整理一两篇小短文,留个纪念。我一直认为,程原创 2017-09-10 09:48:39 · 743 阅读 · 0 评论 -
大数据环境下该如何优雅地设计数据分层
0x00 前言 最近出现了好几次同样的对话场景: 问:你是做什么的? 答:最近在搞数据仓库。 问:哦,你是传统行业的吧,我是搞大数据的。 答:……发个牢骚,搞大数据的也得建设数据仓库吧。而且不管是传统行业还是现在的互联网公司,都需要对数据仓库有一定的重视,而不是谈一句自己是搞大数据的就很厉害了。数据仓库更多代表的是一种对数据的管理和使用的方式,它是一整套包括了etl、调原创 2017-06-17 21:47:03 · 14044 阅读 · 6 评论 -
数据工程师该如何增加核心竞争力?
0x00 前言取自知识星球中大家的问题和回答。0x01 问答Delia:数据仓库工程师,数据开发工程师等的职业前景和发展方向?如何增加核心竞争力?目前主要写sql远离开发了,不知道会不会废。木东居士:哪个领域的顶尖人才都是缺的。比如数据仓库,看起来技术含量不高,但是能解决问题的数据仓库大牛还是很难找到。数据开发也是一样的。因此保持核心竞争力是不用担心前景不好的。核心竞争力要看...原创 2019-03-10 22:25:54 · 727 阅读 · 0 评论