浅谈一个新人的大数据之路

第一章,大数据之路浅谈

数仓&数据集市&数据湖

**数据仓库**:英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

**数据仓库**:一个面向主题的(Subject Oriented),集成的(Integrated),非易失的(Non-Volatilea),随时间变化的(Time Variant),用来支持管理人员决策的数据集合

**数据湖&hub**:概念最初是由大数据厂商提出的,表面上看,数据都是承载在基于可向外扩展的HDFS廉价存储硬件之上的。但数据量越大,越需要各种不同种类的存储。最终,所有的企业数据都可以被认为是大数据,但并不是所有的企业数据都是适合存放在廉价的HDFS集群之上的。

**数据集市(Data Mart)** :也叫数据市场,数据集市就是满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。

在业务快速发展的时候,一般一个业务模式或者场景对应一个数据集市,以支撑业务快速发展

例如:爬虫集市、反爬虫集市、搜索推荐集市、内容营销集市、风控集市、财务集市、营销集市等等

数据模型

**本文所提到模型即是指由Hive将存储在HDFS或者其他数据源上结构化文件映射成为的“表”**

模型ETL频率:

离线模型:T+1、T+2、周、月、季

准实时模型(rtf 模型):1min、5min、10min、30min、1hour

实时topic:实时消费、流式处理、实时接入、实时消费

模型存储技术:

非分区模型:不存储历史数据,只存储数据最新状态

全量模型:全量存储数据,超出一定时间未更新状态数据存入History分区,否则存入ACTIVE分区,只记录数据最新状态

增量模型:增量存储数据,每日新增数据纪录成快照并存入最新分区

拉链模型:拉链模型是一种数据处理和存储的技术方式;通过比较,记录数据的生命周期;能快速还原任意天的历史快照,极大的节省了存储。 顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息

模型数据分层:

分区模型:就是一种物理上的“索引”,将总数据按规则分装到各个小区中并打上标签,查询指定标签的数据时只用遍历该小区的数据即可

桶模型: 对于每一个模型(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是针对某一列进行桶的组,笔者在日常开发中没有使用过“分桶”技术

注意:

1. 而分区又会被分为静态分区&动态分区,在insert数据时会有区别,静态分区insert数据时需要制定分区,动态分区不需要制定 

如果分区是可以确定的话,千万不要用动态分区,动态分区相较与静态分区,效率会低一些。因为动态分区的值是在reduce运行阶段确定的,也就是会把所有的记录distribute by,而Distribute by 按指定字段,将数据划分到不同的Reduce中,所以当数据大的时候,Reduce的数量直接影响着效率的高低。

2. insert数据时,可以将动态分区&静态分区结合使用,结合方式为:主静从动

3. 一般模型分区数量不应该超过2层,否则会因分区数过多而导致生成大量小文件(文件小于128M),影响集群效率

3.1 从Hive的角度看,小文件会开很多map,一个map开一个JVM去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。

3.2 NameNode会在内存中维护着文件系统树及整棵树内所有的文件和目录,也记录着每个文件中各个块所在的数据节点信息。在HDFS中,每个小文件对象约占150byte,如果小文件过多会占用大量内存。这样NameNode内存容量严重制约了集群的扩展

模型架构分层:

ADM:源数据层,与生产系统数据及结构完全保持一致

BDM:拉链层,以ADM层为基础,将数据转换为拉链模型进行极限存储

CDM:明细层,以BDM层或ADM层为基础,拉取数据加工成星型模型或雪花模型

DDM:公共层,以CDM为基础,所有的数据业务及技术口径、TEL方式、数据场景聚合在此层实现统一

EDM:应用层,以DDM为基础,面向不同的系统实现定制化开发

TMP:临时数据层,基础临时模型或者中间模型

OPD:测试层,存储测试待上线模型

NMV:维度层,为降低数据冗余,存储一些枚举值映射关系

模型主题域:

不同层的模型会按照特定的业务主体或者场景划分出“”主题“”,以便用户快速在茫茫模型海中找到目标模型,举例说明

Z01:用户

X02:搜索

C03:广告

V04:流量

B05:交易

N06:订单

M07:商品

L08:房产

K09:二手车

......

模型创建类型:

内部模型(管理模型):未被external修饰的是内部表,数据由hive自身管理。drop表时,hdfs上持久化存储数据会被删除

外部模型:数据由HDFS管理,drop表时,表的元数据信息会被删除,持久化存储数据还会在HDFS中未被删除

模型存储类型:

TEXTFILE:存储方式为行存储,默认存储方式

SEQUENCEFILE:二进制文件,以<key,value>的形式序列化到文件中,行存储,可分割可压缩 

RCFILE:数据按行分块 每块按照列存储,压缩快,快速列存取

ORCFILE:数据按行分块 每块按照列存储,压缩快,快速列存取

PARQUET:列式存储,可用于多种数据处理系统

模型压缩算法:

GZIP

BZIP2

LZO

SNAPPY

笔者日常开发采用ORC格式对数据进行存储,SNAPPY算法对数据进行压缩,后期会分章节填上本篇挖的所有坑-。-

最后的最后,讲讲集群中几个概念:队列,节点,计算引擎

队列:

保证不同等级数据计算任务及算法任务互相独立享受资源,互不干扰互不影响,独立划分一片资源,列举几个集群中“”队列“”实际应用场景

core :核心重点任务使用

formal:生产队列,供生产任务使用

Spark:仅供Spark作业使用

Machine_learning:仅供算法作业使用

bu:仅供报表作业使用

presto:仅供Presto即席查询使用

Hive:仅供Hive查询使用

dev:仅供非核心作业使用

这块再挖一个大坑,后几期笔者会重点讲一下在实际生产环境下同一集市不同队列间资源分配策略

节点:

负责调度任务的客户端,笔者Spark开发时采用Yarn提交作业,Yarn会选择集群任意一台机器作为客户端以供Driver进行作业调度

计算引擎:

Hive

Spark

Pig

Spark Streaming

Storm

MapReduce

这块再挖一个大坑,笔者日常基本都采用Spark引擎开发,后续文章会重点讲解每个计算引擎不同,优势与劣势

回过头看看自己职业经历,当初觉得自己太菜,17年刚来北京决定从事数据分析师这个岗位,面试了头条、链家、58到家,每一家对数据分析侧重点不一样:

头条重算法,上来手写一些算法基本实现

链家重实现,笔试里有较多题目设计业务场景具体分析,具体实现

58到家谈业务,可能是由于面试业务部门导致

后来没有去师傅推荐的58到家商业BI部门当一个数据分析师,辗转反侧来到沃斯,从事业务侧数据分析师,最后异动至数据开发,神奇的经历,因为自己的坚持,最终做到自己想干的事!

*人生苦短,我用Python,CCCCCold的大数据之禅*

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容