大数据生态

=Start=

缘由:

虽然之前因为大量日志安全分析、处理的原因,已经实际用过Hadoop MapReduce、Storm、Hive、Presto等大数据工具,但毕竟不是专门做大数据相关工作的,而且现在大数据的发展速度也快,所以也经常对一些名词是云里雾里的——不甚明白,因此一直想找机会大致系统的了解一下,也不希望多么精深,只希望不落后于这个时代就行。

正文:

参考解答:
理论基础:
  • 《Google File System》:论述了怎样借助普通机器有效的存储海量的大数据;(HDFS是对应的开源实现)
  • 《Google MapReduce》:论述了怎样快速计算海量的数据;(Hadoop MapReduce是其对应的开源实现)
  • 《Google BigTable》:论述了怎样实现海量数据的快速查询;(HBase是其对应的开源实现)
要解决的核心问题:
  • 存储,海量的数据怎样有效的存储?主要包括HDFS;
  • 计算,海量的数据怎样快速计算?主要包括MapReduce、Storm、Spark、Flink等;
  • 查询,海量数据怎样快速查询?主要为NoSQL和OLAP,NoSQL主要包括HBase、 Cassandra等,其中OLAP包括Kylin、Impla等,其中NoSQL主要解决随机查询,OLAP技术主要解决关联查询;
  • 挖掘,海量数据怎样挖掘出隐藏的知识?也就是当前火热的机器学习和深度学习等技术,包括TensorFlow、Caffe、Mahout等;
一图流:

数据存储、资源管理调度、离线批处理、数据仓库、实时流处理、键值查询、数据挖掘、一些功能组件(ZooKeeper、Kafka、……)

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/3743.html

《大数据生态》上有32条评论

  1. 大数据(big data):基础概念
    https://zhuanlan.zhihu.com/p/33619503

    4. “大数据(big data)“的定义——6个”V”

    我们通过6个维度来定义什么是"大数据",这个维度的英文单词都是由字母"V"开头,所以也可以简记为6个“V”。分别是:Volume(规模)、Velocity(速度)、Variety(多样)、Veracity(质量)、Valence(连接)、Value(价值)

    Volume(规模):指的是每天产生的海量数据
    Velocity(速度):指的是数据产生的速度越来越快
    Variety(多样):指的是数据格式的多样性,例如文本、语音、图片等
    Veracity(质量):指的是数据的质量差别可以非常大
    Valence(连接):指的是大数据之间如何产生联系
    Value(价值):数据处理可以带来不同寻常的洞见进而产生价值

  2. 浅谈大数据平台基建的逻辑
    http://gigix.thoughtworkers.org/2018/3/16/infrastructure-of-big-data/

    接入层(Landing):以和源系统相同的结构暂存原始数据。有时被称为“贴源层”或ODS。
    整合层(Integration):持久存储整合后的企业数据,针对企业信息实体和业务事件建模,代表组织的“唯一真相来源”。有时被称为“数据仓库”。
    表现层(Presentation):为满足最终用户的需求提供可消费的数据,针对商业智能和查询性能建模。有时被称为“数据集市”。
    语义层(Semantic):提供数据的呈现形式和访问控制。例如某种报表工具。
    终端用户应用(End-user applications):使用语义层的工具,将表现层数据最终呈现给用户,包括仪表板、报表、图表等多种形式。
    元数据(Metadata):记录各层数据项的定义(Definitions)、血缘(Genealogy)、处理过程(Processing)。

  3. 技术资源推荐(数据仓库篇)
    http://www.mdjs.info/2018/03/21/data-warehouse/data-warehouse-resources/

    1. 0x00 前言
    2. 0x01 书籍推荐
      2.1. 一、数据仓库工具箱(第3版):维度建模权威指南
      2.2. 二、数据仓库(原书第4版)
      2.3. 三、数据挖掘:概念与技术(原书第3版)
      2.4. 四、大数据之路:阿里巴巴大数据实践
      2.5. 五、大数据日知录
    3. 0xFF 总结

  4. 常用的几种大数据架构剖析
    https://insights.thoughtworks.cn/common-big-data-infrastructure/

    总的来说,目前围绕Hadoop体系的大数据架构大概有以下几种:

    传统大数据架构
    流式架构
    Lambda架构(Lambda的数据通道分为两条分支:实时流和离线。)
    Kappa架构(将实时和流部分进行了合并,将数据通道以消息队列进行替代。)
    Unifield架构(将机器学习和数据处理揉为一体,从核心上来说,Unifield依旧以Lambda为主,不过对其进行了改造,在流处理层新增了机器学习层。)

  5. 模式识别、机器学习傻傻分不清?给我三分钟!
    https://mp.weixin.qq.com/s/rzhrjG0B40-Ml9vkuiTpMw

    AI元老——模式识别
    那什么是模式识别?它指的是,对表征事物或现象的各种形式的信息进行处理和分析,从而达到对事物或现象进行描述、辨认、分类和解释的目的。

    AI大众情人——机器学习
    不同于模式识别中人类主动去描述某些特征给机器,机器学习可以这样理解:机器从已知的经验数据(样本)中,通过某种特定的方法(算法),自己去寻找提炼(训练/学习)出一些规律(模型);提炼出的规律就可以用来判断一些未知的事情(预测)。

    https://www.zhihu.com/question/38106452/answer/211218782
    http://blog.csdn.net/feichizhongwu888/article/details/52727958
    https://www.cnblogs.com/muchen/p/5434359.html#_label0

  6. 自底向上——知识图谱构建技术初探
    https://www.anquanke.com/post/id/149122

    “The world is not made of strings , but is made of things.” ——辛格博士,from Google.

    知识图谱,是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系,通过将数据粒度从document级别降到data级别,聚合大量知识,从而实现知识的快速响应和推理。

    1-定义
    2-数据类型和存储方式
    3-知识图谱的架构
    3.1-逻辑架构
    3.2-技术架构
    4-构建技术
    4.1-信息抽取
    4.1.1-实体抽取
    4.1.2-关系抽取
    4.1.3-属性抽取
    4.2-知识融合
    4.2.1-实体链接
    4.2.2-知识合并
    4.3-知识加工
    4.3.1-本体构建
    4.3.2-知识推理
    4.3.3-质量评估
    4.4-知识更新
    5-知识图谱的应用
    智能搜索——也是知识图谱最成熟的一个场景,自动给出搜索结果和相关人物;
    不一致性验证(类似交叉验证)——关系推理;
    异常分析(运算量大,一般离线);

  7. HIVE中get_json_object与json_tuple使用
    https://blog.csdn.net/sinat_29508201/article/details/50215351

    Hive JSON数据处理的一点探索
    https://www.cnblogs.com/yurunmiao/p/4728285.html

    Hive get_json_object用法
    https://sjq597.github.io/2015/11/05/Hive-get-json-object%E7%94%A8%E6%B3%95/

    # 取内容为json字符串格式的 content 列的 status 字段的值
    select get_json_object(content,'$.status') from test limit 1;

    Hive 中的复合数据结构简介以及一些函数的用法说明
    https://my.oschina.net/leejun2005/blog/120463

  8. 从面试官的角度谈谈大数据面试
    https://mp.weixin.qq.com/s/xX5lMAiqaA4-g63honeFbA

    01 技术能力
    这个是硬指标,不过关的基本是可以一票否决的,当然技术能力的标准是根据工作年限,面试职位和薪资要求共同来决定的。面试官要根据实际情况有自己的判断。
    那技术能力如何考察?我提几个方面
    基础能力
    java 的 jvm、多线程、类加载等
    scala 伴生对象,偏函数,柯里化等
    还有shell和python的就不举例了
    HBase读写流程
    Yarn任务提交流程等等
    底层原理
    Hbase是如何存数据的,为什么读得快
    spark为什么就算不在内存跑也比mr快
    zookeeper数据怎么保证一致性
    说说选举机制
    等等
    源码
    有没有读过源码?
    详细说下你从源码中获取到了什么信息,有什么帮助
    架构设计能力
    如何技术选型,考虑哪些因素?
    设计一个同时满足实时和离线分析需求的平台
    为什么这么设计?
    另外
    以上问题如果回答得不太好,可以再给个机会让他说下自己最熟悉的技术,不限制从哪些方面讲。

    02 解决问题能力
    如何排查hbase集群cpu过高问题
    如何优化spark任务
    ......

    03 方案设计能力
    说说数据仓库设计建模过程
    说说数据质量监控系统怎么设计
    ......

    04 想法
    这是一道开放题
    对数据治理有什么想法
    对职业生涯的规划
    ......

    05 还可以再问些偏向管理的问题
    如何调动组员的技术学习积极性
    如何高效地跨部门协作
    ……

    06 唠嗑
    上面的问题问完觉得感觉可以的话可以,可以唠唠嗑,问些其他问题。
    为何离职?
    觉得自己是什么样的性格等等
    当然这些都不太重要了主要就是考察下你的语言表达能力和三观是不是正的。

  9. 给SQL用户提供的一份简单但实用的Hive SQL备忘录(Simple Hive ‘Cheat Sheet’ for SQL Users)
    https://zh.hortonworks.com/blog/hive-cheat-sheet-for-sql-users/

    多表联合查询(Selecting from multiple tables)
    # MySQL语法
    SELECT pet.name, comment FROM pet, event WHERE pet.name = event.name;
    # Hive SQL语法
    SELECT pet.name, comment FROM pet JOIN event ON (pet.name = event.name);

    描述表的格式
    # MySQL语法
    DESCRIBE table;
    # Hive SQL语法
    DESCRIBE (FORMATTED|EXTENDED) table;

    删除数据库
    # MySQL语法
    DROP DATABASE db_name;
    # Hive SQL语法
    DROP DATABASE db_name (CASCADE);

  10. 大数据平台CDH集群离线搭建
    http://www.open-open.com/lib/view/open1453201603261.html
    https://segmentfault.com/a/1190000004331498

    以Apache Hadoop为主导的大数据技术的出现,使得中小型公司对于大数据的存储与处理也拥有了武器。目前Hadoop有不少发行版:华为发行版 收费、Intel发行版 收费、Cloudera发行版(Cloudera’s Distribution Including Apache Hadoop,简称 CDH)免费、Hortonworks发行版(Hortonworks Data Platform,简称 HDP)免费 等,所有这些发行版均是基于Apache Hadoop社区版衍生出来的。

    对于国内而言,绝大多数选择CDH版本,主要理由如下:
    (1)CDH对Hadoop版本的划分非常清晰,只有两个系列的版本(现在已经更新到CDH5.20了,基于hadoop2.x),分别是cdh3和cdh4,分别对应第一代Hadoop(Hadoop 1.0)和第二代Hadoop(Hadoop 2.0),相比而言,Apache版本则混乱得多;
    (2)CDH文档清晰,很多采用Apache版本的用户都会阅读cdh提供的文档,包括安装文档、升级文档等。

  11. Google后Hadoop时代的新“三驾马车”——Caffeine、Pregel、Dremel
    https://www.csdn.net/article/2012-08-20/2808870
    https://www.wired.com/2012/08/googles-dremel-makes-big-data-look-small/

    Hadoop的火爆要得益于Google在2003年底和2004年公布的两篇研究论文,其中一份描述了GFS(Google File System),GFS是一个可扩展的大型数据密集型应用的分布式文件系统,该文件系统可在廉价的硬件上运行,并具有可靠的容错能力,该文件系统可为用户提供极高的计算性能,而同时具备最小的硬件投资和运营成本。

    另外一篇则描述了MapReduce,MapReduce是一种处理大型及超大型数据集并生成相关执行的编程模型。其主要思想是从函数式编程语言里借来的,同时也包含了从矢量编程语言里借来的特性。基于MapReduce编写的程序是在成千上万的普通PC机上被并行分布式自动执行的。8年后,Hadoop已经被广泛使用在网络上,并涉及数据分析和各类数学运算任务。但Google却提出更好的技术。

    在2009年,网络巨头开始使用新的技术取代GFS和MapReduce。Mike Olson表示“这些技术代表未来的趋势。如果你想知道大规模、高性能的数据处理基础设施的未来趋势如何,我建议你看看Google即将推出的研究论文”。

    自Hadoop兴起以来,Google已经发布了三篇研究论文,主要阐述了基础设施如何支持庞大网络操作。其中一份详细描述了Caffeine,Caffeine主要为Google网络搜索引擎提供支持。
    在本质上Caffeine丢弃MapReduce转而将索引放置在由Google开发的分布式数据库BigTable上。作为Google继GFS和MapReduce两项创新后的又一项创新,其在设计用来针对海量数据处理情形下的管理结构型数据方面具有巨大的优势。这种海量数据可以定义为在云计算平台中数千台普通服务器上PB级的数据。

    另一篇介绍了Pregel,Pregel主要绘制大量网上信息之间关系的“图形数据库”。而最吸引人的一篇论文要属被称之为Dremel的工具。

  12. 知识图谱发展的难点&构建行业知识图谱的重要性
    https://paper.tuisec.win/detail/1e9aa1c785fbae7
    http://www.woshipm.com/it/1716953.html

    知识图谱又称为科学知识图谱,在图书情报界称为知识域可视化,或知识领域映射地图,用来显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及载体,挖掘、分析、构建、绘制和显示知识及他们互相之间的关系。

    一、概述
    尽管人工智能依靠机器学习和深度学习取得了快速进展,但这些都是弱人工智能,对于机器的训练,需要人类的监督以及大量的数据来喂养,更有甚者需要人手动对数据进行标记,对于强人工智能而言,这是不可取的。要实现真正的类人智能,机器需要掌握大量的常识性知识,以人的思维模式和知识结构来进行语言理解、视觉场景解析和决策分析。

    二、什么是知识图谱
    百度百科定义:知识图谱又称为科学知识图谱,在图书情报界称为知识域可视化,或知识领域映射地图,用来显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及载体,挖掘、分析、构建、绘制和显示知识及他们互相之间的关系。

    三、为什么需要知识图谱
    四、知识图谱的诞生
    五、知识图谱的原理
    六、知识图谱的发展方向
    七、行业知识图谱的重要性

发表评论

电子邮件地址不会被公开。 必填项已用*标注