zoukankan      html  css  js  c++  java
  • 数据仓库前人经验

    数据仓库的价值与意义:https://blog.csdn.net/BabyFish13/article/details/103241266

    第一部分:首先是工具类的介绍(划重点,要考的!!!!!!!)
    Hadoop(不用多说了吧)
    HDFS(分布式文件系统,必须要会的,一切的基石)
    YARN(资源调度框架,这是Hadoop2.X新增的东西,要会掌握)
    HIVE(基于Hadoop的数据仓库框架,重中之重啊,一定要精通!!!!!!!!!!)
    HBASE(基于Hadoop的面向列的开源数据库)
    sqoop(介于关系型数据库和HDFS之间数据传输的ETL工具)
    flume(数据采集工具)
    kafka(消息队列)
    spark(基于内存的分布式计算框架,RDD)
    flink(现在非常火的实时计算框架)
    impala(基于CDH的一种快速查询引擎)
    oozie或者azkaban(任务调度系统)
    MySQL数据库(生产的业务数据几乎都是存MySQL的,工作过的都知道,不多说了)
    elasticsearch(结合ELK使用的,是加分项)
    MongoDB和redis(主流的nosql数据库,也是加分项)
    小伙伴们看到上面的那么多东西,是不是已经懵逼了?没事,老哥我刚开始学习的时候也是懵逼的,但是你们要庆幸,因为你们遇到了我。我会给你们做一个非常系统的数据仓库学习。(实时问答的那种的哦!!!!!最后我会贴上我的QQ群,大家一起学习)
    顺带送给你们一张大致的架构图


    第二部分:编程语言类
    java(最通用,应用最广的语言,没有之一,学好java,走遍天下都不怕)
    Python(现在很火的语言,不管是数据分析,数据处理,写脚本,都是很好的,开发起来也快速,要学的)
    shell(基于Linux的脚本语言,必须要会啊,不然你们连最基础的安装Hadoop都搞不定)
    scala(加分项,会之前三门语言,你已经是大牛了,当然会Scala当然最好啦,不会也没事的。)
    SQL或者说是HQL(这个一定要玩得很溜啊,做离线的数据仓库至少一半时间是在写这个东西啊!!!!!!!!!!)
    为啥我说HQL是重中之重呢,因为我们做数仓的,很多时候都在写HQL(当然不是说其他的不重要啊)。而且很多知识点非常重要:

    HQL的优化(也就是mapreduce的优化),数据倾斜了怎么办。一定要会啊!!!!!!
    窗口函数,row_number rank这种,必须要会的。
    各种排序,order by ,sort by, distribute by都要会啊。
    还有很多实际案例,以后我在展开说啊。
    第三部分:数据仓库建模理论
    这个呢,内容很多了,一时半会也说不清楚啊。我这里呢,给各位简单的说一下,数据仓库建模主要分2块。第一部分是模型设计,第二部分是数仓分层。(当然,这些建模的理论,都是必须基于业务的,不然所有建出来的模型,都是然并卵)

    一、模型设计
    模型设计呢有很多,主要是以下这几种。

    ER建模。
    维度建模。(星型模型和雪花模型,工作中用得最多的就是这2中建模方法啊)
    data vault建模。
    顺带送上2张星型模型和雪花模型的大致示意图,免得新手小白看的一脸闷逼,不知道我在说啥。

    二、数仓分层
    一般来说呢,我们最最通用的数据仓库分4层。(当然,也有很多大公司分七八层的也有啊,我这里给的仅仅是最通用的解决方案)

    ODS层(和生产保持一致,不做数据清洗)
    DWD层(进行维度建模,顺便数据清洗)
    DWS层(进行适当的聚合,以满足不同业务的数据需求)
    DM层(数据集市层,也可以理解为大宽表,按照主题划分的。这里所说的主体,可以是根据业务来划分,也可以根据部门来划分)
    第四部分:BI工具类
    那数据整理完了,是不是要展示了啊。很多人会问,BI是干嘛的,BI就是用来做OLAP分析,还有数据可视化的,非常好用的一个东西。那么一般情况下呢,是买一个BI工具(因为可以省去很多开发人员,算下来还是买一个BI工具省钱)

    tableau
    finebi
    cognos
    powerbi
    排名不分先后,市面上用的最多的呢,是前面2个产品,官网都有试用的啊,自己去下载就行。
    第五部分:数据质量监控和元数据管理
    这个2东西可就麻烦喽。这个2个东西,可以说是数据仓库里面最难,也是最有挑战性的工作。今天我就不多说了啊,怕有人打退堂鼓。以后我会专门写几篇文章,好好说说这一块怎么做。

    第六部分:结合实际的业务进行数据仓库建模(划重点!!!!!!)
    为什么我说这一部分要划重点。因为所有不基于业务的技术,都是耍流氓。尤其是我们做数据仓库的,你服务不了业务,自己拍脑袋,那完全就是扯淡。而且很多公司面试的时候,可以说50%的面试时间,都会问你的项目经验,所以非常重要啊。要结合实际业务给出切实可行的解决方案。

    简单写个总结吧
    这也是我第一次写技术文章啊。有很多地方还有不足。但是呢,做数据仓库要回的知识点,我大致都说了,如果有遗漏的,欢迎大家提出啊。因为今天也比较晚了,可能会有漏掉的知识点。
    ————————————————
    版权声明:本文为CSDN博主「翟工的分享空间」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_39471936/article/details/102672027

  • 相关阅读:
    @PathVariable和@RequestParam的区别
    Spring整合hibernate4:事务管理
    Android横竖屏切换生命周期
    Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
    Gson简要使用笔记
    Java Web 路径问题
    Java相对路径/绝对路径总结
    关于图片或者文件在数据库的存储方式归纳
    cf706C(dp)
    cf414B(dp)
  • 原文地址:https://www.cnblogs.com/pengpenghuhu/p/11874243.html
Copyright © 2011-2022 走看看