精华内容
下载资源
问答
  • Hadoop技术栈

    千次阅读 2018-12-25 16:49:00
     使用基于数据流的简单灵活的架构 应用协调与工作流  ZooKeeper(分布式协调服务)  可以为分布式应用程序提供配置服务、域名服务、分布式同步等服务。  Oozie(工作流调度程序)  是一...

    Hadoop(分布式计算平台)

    从单个服务器扩展到数千台服务器,每台机器提供本地计算和存储

    • 存储系统 

              HDFS(Hadoop DIstributed File System 分布式文件系统)

                使用Java实现的、分布式的、可横向扩展的分布式文件系统。可存储超大文件,采用流式数据访问模式,运行于通用X86服务器上。

                    NameNode,是HDFS集群的管理节点,负责管理和维护HDFS集群的命名空间以及元数据信息并管理集群中的数据节点。有两个重要的文件:

                            EditLog,用于记录针对文件的操作(文件的创建、删除、重命名)

                            FSImage,用于维护整个系统的命名空间,包括数据块到文件的映射和文件的属性等

                    SecondaryNameNode,并不是NameNode的备份,定期将EditLog合并到FSImage,以防止EditLog过大。保存合并后的FSImage的副本,作为              NameNode的检查点,但是保存的状态滞后于NameNode,因此NameNode失效后会丢失部分数据

                    DataNode ,数据节点,根据系统的需要存储并检索数据块,HDFS集群启动和正常运行期间定期向NameNode发送存储的块列表和心跳信息

                    CheckpointNode,Hadoop2.x后加入,和Secondary NameNode作用一致

                    BackupNode,Hadoop2.x后加入,NameNode的完全备份

               HBase(Hadoop Database 数据库)

                属于非关系型数据库,数据是基于列的而不是基于行,可在廉价服务器上搭建大规模结构化存储集群。

    • 计算框架

              MapReduce(离线计算框架)

               把一个复杂问题分解成处理子集的子问题。“Map”对子问题分别处理得到中间结果,“Reduce”把中间结果汇总,得到最终结果。

              YARN(资源管理系统)

                通用的资源管理模块,可以为上层应用提供统一的资源调度和管理。使Hadoop不仅可以使用MapReduce,还可以使用Storm、Spark等计算框架。

                包含两种节点:ResourceManage负责资源调度,NodeManager负责具体事务

    • 数据仓库

               Hive

                基于Hadoop的数据仓库工具,将结构化的数据文件映射为数据库表。操作本质是将SQL语句转换为MapReduce程序。

    • 数据转换与日志处理

                Sqoop(数据转换工具)

                  将数据从外部结构化数据存储导入Hive或HBase,也可以从Hadoop中提取数据,将其导出到外部结构化数据存储。

                Flume(日志处理系统)

                使用基于数据流的简单灵活的架构

    • 应用协调与工作流

                ZooKeeper(分布式协调服务)

                可以为分布式应用程序提供配置服务、域名服务、分布式同步等服务。

                Oozie(工作流调度程序)

                是一种Java Web应用程序,用于管理Hadoop作业的工作流调度。

    • 大数据安全技术

                Kerberos(网络认证协议)

                 基于共享秘钥对称加密,通过秘钥系统为客户机/服务器应用程序提供认证服务

                LDAP(轻量目录访问协议)

                提供被称为目录服务的信息服务,为应用程序提供访问、认证和授权的集中管理。

    • 大数据即时查询与搜索

                Impala(查询系统)

                提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。使用高并发的MMP查询引擎,查询速度比Hive快得多。

                Solr(搜索系统)

                企业搜索平台,基于标准的开放式接口(XML、JSON、HTTP),可实现强大的搜索匹配功能。

    • 大数据消息订阅

                Kafka(消息订阅系统)

                高吞吐量的分布式发布-订阅消息系统。

    转载于:https://my.oschina.net/u/3424784/blog/2993065

    展开全文
  • 1.Hadoop Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点,其核心是YARN,HDFS和Mapreduce。 2.HDFS(Hadoop分布式文件系统) 源自于Google的GFS论文,发表于2003年10月,...

    1.Hadoop

    Hadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点,其核心是YARN,HDFS和Mapreduce。

    2.HDFS(Hadoop分布式文件系统)

    源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版。
    HDFS是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。
    HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。
    它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器上

    3.Mapreduce(分布式计算框架)

    源自于google的MapReduce论文,发表于2004年12月,Hadoop MapReduce是google MapReduce 克隆版。
    MapReduce是一种分布式计算模型,用以进行大数据量的计算。它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分,
    其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。
    MapReduce非常适合在大量计算机组成的分布式并行环境里进行数据处理。

    4. HBASE(分布式列存数据库)

    源自Google的Bigtable论文,发表于2006年11月,HBase是Google Bigtable克隆版
    HBase是一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。
    HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。
    HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

    5.HIVE(数据仓库)

    由facebook开源,最初用于解决海量结构化的日志数据统计问题。
    Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
    HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。

    6.Sqoop(数据ETL/同步工具)

    Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。
    Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。

    7.Pig(ad-hoc脚本)

    由yahoo!开源,设计动机是提供一种基于MapReduce的ad-hoc(计算在query时发生)数据分析工具
    Pig定义了一种数据流语言—Pig Latin,它是MapReduce编程的复杂性的抽象,Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。
    其编译器将Pig Latin翻译成MapReduce程序序列将脚本转换为MapReduce任务在Hadoop上执行。通常用于进行离线分析。

    8. Zookeeper(分布式协作服务)

    源自Google的Chubby论文,发表于2006年11月,Zookeeper是Chubby克隆版
    解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
    Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。

    9.Flume(日志收集工具)

    Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。
    它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。
    同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。
    总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。当然也可以用于收集其他类型数据

    10.Mahout(数据挖掘算法库)

    Mahout起源于2008年,最初是Apache Lucent的子项目,它在极短的时间内取得了长足的发展,现在是Apache的顶级项目。
    Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。
    Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。
    除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。

    11. Oozie(工作流调度器)

    Oozie是一个可扩展的工作体系,集成于Hadoop的堆栈,用于协调多个MapReduce作业的执行。它能够管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现。
    Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。
    Oozie使用hPDL(一种XML流程定义语言)来描述这个图。

    12. Yarn(分布式资源管理器)

    YARN是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的。
    Yarn是下一代 Hadoop 计算平台,yarn是一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。
    用于自己编写的框架作为客户端的一个lib,在运用提交作业时打包即可。该框架为提供了以下几个组件:

    • 资源管理:包括应用程序管理和机器资源管理
    • 资源双层调度
    • 容错性:各个组件均有考虑容错性
    • 扩展性:可扩展到上万个节点

    13. Mesos(分布式资源管理器)

    Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache项目,当前有一些公司使用Mesos管理集群资源,比如Twitter。
    与yarn类似,Mesos是一个资源统一管理和调度的平台,同样支持比如MR、steaming等多种运算框架。

    14. Tachyon(分布式内存文件系统)

    Tachyon(/'tæki:ˌɒn/ 意为超光速粒子)是以内存为中心的分布式文件系统,拥有高性能和容错能力,
    能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。
    Tachyon诞生于UC Berkeley的AMPLab。

    15. Tez(DAG计算模型)

    Tez是Apache最新开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,
    即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,
    这样,这些分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业。
    目前hive支持mr、tez计算模型,tez能完美二进制mr程序,提升运算性能。

    16. Spark(内存DAG计算模型)

    Spark是一个Apache项目,它被标榜为“快如闪电的集群计算”。它拥有一个繁荣的开源社区,并且是目前最活跃的Apache项目。
    最早Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架。
    Spark提供了一个更快、更通用的数据处理平台。和Hadoop相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍

    17. Giraph(图计算模型)

    Apache Giraph是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
    最早出自雅虎。雅虎在开发Giraph时采用了Google工程师2010年发表的论文《Pregel:大规模图表处理系统》中的原理。后来,雅虎将Giraph捐赠给Apache软件基金会。
    目前所有人都可以下载Giraph,它已经成为Apache软件基金会的开源项目,并得到Facebook的支持,获得多方面的改进。

    18. GraphX(图计算模型)

    Spark GraphX最先是伯克利AMPLAB的一个分布式图计算框架项目,目前整合在spark运行框架中,为其提供BSP大规模并行图计算能力。

    19. MLib(机器学习库)

    Spark MLlib是一个机器学习库,它提供了各种各样的算法,这些算法用来在集群上针对分类、回归、聚类、协同过滤等。

    20. Streaming(流计算模型)

    Spark Streaming支持对流数据的实时处理,以微批的方式对实时数据进行计算

    21. Kafka(分布式消息队列)

    Kafka是Linkedin于2010年12月份开源的消息系统,它主要用于处理活跃的流式数据。
    活跃的流式数据在web网站应用中非常常见,这些数据包括网站的pv、用户访问了什么内容,搜索了什么内容等。
    这些数据通常以日志的形式记录下来,然后每隔一段时间进行一次统计处理。

    22. Phoenix(hbase sql接口)

    Apache Phoenix 是HBase的SQL驱动,Phoenix 使得Hbase 支持通过JDBC的方式进行访问,并将你的SQL查询转换成Hbase的扫描和相应的动作。

    23. ranger(安全管理工具)

    Apache ranger是一个hadoop集群权限框架,提供操作、监控、管理复杂的数据权限,它提供一个集中的管理机制,管理基于yarn的hadoop生态圈的所有数据权限。

    24. knox(hadoop安全网关)

    Apache knox是一个访问hadoop集群的restapi网关,它为所有rest访问提供了一个简单的访问接口点,能完成3A认证(Authentication,Authorization,Auditing)和SSO(单点登录)等

    25. falcon(数据生命周期管理工具)

    Apache Falcon 是一个面向Hadoop的、新的数据处理和管理平台,设计用于数据移动、数据管道协调、生命周期管理和数据发现。它使终端用户可以快速地将他们的数据及其相关的处理和管理任务“上载(onboard)”到Hadoop集群。

    26.Ambari(安装部署配置管理工具)

    Apache Ambari 的作用来说,就是创建、管理、监视 Hadoop 的集群,是为了让 Hadoop 以及相关的大数据软件更容易使用的一个web工具。


    链接:https://www.jianshu.com/p/d81dc015ce86
     

    展开全文
  • 2.3. Hadoop 1. Presto 参考: 深入理解Presto 美团: Presto实现实时查询的原理进行分析和总结 1.1. 概述 Presto是Facebook开源的MPP(Massive Parallel Processing)SQL引擎,本身并不存储数据,但是可以接入...

    目录

    • 技术产生背景
      1. Kafka 主要用来处理消息的(解耦异步削峰)。数据到Kafka,Kafka会将数据持久化到硬盘中,并且Kafka是分布式的(很方便的扩展),
        1. 理论上Kafka可以存储很大的数据。但是Kafka的数据我们不会「单独」取出来。持久化了的数据,最常见的用法就是重新设置offset,做「回溯」操作;
      2. Redis 是缓存数据库,所有的读写都在内存中,速度贼快。AOF/RDB存储的数据都会加载到内存中,Redis不适合存大量的数据(内存有限,贵);
      3. Elasticsearch 是一个分布式的搜索引擎,主要用于检索。理论上Elasticsearch也是可以存储海量的数据(毕竟分布式),
        1. 我们也可以将数据用『索引』来取出来,似乎已经是非常完美的中间件了。
        2. 但是如果我们的数据没有经常「检索」的需求,其实不必放到Elasticsearch,数据写入Elasticsearch需要分词,无疑会浪费资源。
      4. HDFS 是可以存储海量的数据的,它就是为海量数据而生的。它也有明显的缺点:不支持随机修改,查询效率低,对小文件支持不友好。
      5. HBase
        1. HBase在HDFS之上提供了高并发的随机写和支持实时查询,这是HDFS不具备的。
        2. HBase可以以低成本来存储海量的数据并且支持高并发随机写和实时查询。

    1. Presto

    参考:

    1. 深入理解Presto
    2. 美团: Presto实现实时查询的原理进行分析和总结

    1.1. 概述

    1. Presto是Facebook开源的MPP(Massive Parallel Processing)SQL引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询。
    2. Presto是一个OLAP(On-Line Analytical Processing)的工具,擅长对海量数据进行复杂的分析;
      1. 但是对于OLTP(on-line transaction processing)场景,并不是Presto所擅长,所以不要把Presto当做数据库来使用。
    3. Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。目前国内的美团、京东、滴滴等在业务中有使用到presto。

    1.2. Presto Hive对比

    Presto 的查询性能是Hive的10倍左右;

    1. 本质区别
      1. Hive是把一个查询转化成多个MapReduce任务,然后一个接一个执行。执行的中间结果通过对磁盘的读写来同步。
      2. Presto没有使用MapReduce,它是通过一个定制的查询和执行引擎来完成的。它的所有的查询处理是在内存中,这也是它的性能很高的一个主要原因。
    2. 执行速度
      1. presto由于是基于内存的,而hive是在磁盘上读写的,因此presto比hive快很多,
      2. 但是由于是基于内存的当多张大表关联操作时易引起内存溢出错误

    参考:

    1. hive和presto的一些对比

    2. Hive


    2.1. Hive概述

    1. Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。
    2. 提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

    ==参考:=

    1. hive和presto的一些对比

    2.2. Hive与关系型数据库 关系

    1. 关系数据库里,表的加载模式是在数据加载时候强制确定的(表的加载模式是指数据库存储数据的文件格式),

      1. 如果加载数据时候发现加载的数据不符合模式,关系数据库则会拒绝加载数据,这个就叫“写时模式”,写时模式会在数据加载时候对数据模式进行检查校验的操作。
      2. Hive在加载数据时候和关系数据库不同,hive在加载数据时候不会对数据进行检查,也不会更改被加载的数据文件,而检查数据格式的操作是在查询操作时候执行,这种模式叫“读时模式”。
      3. 在实际应用中,写时模式在加载数据时候会对列进行索引,对数据进行压缩,因此加载数据的速度很慢,但是当数据加载好了,我们去查询数据的时候,速度很快。
      4. 但是当数据是非结构化,存储模式也是未知时候,关系数据操作这种场景就麻烦多了,这时候hive就会发挥它的优势。
    2. 关系数据库一个重要的特点是可以对某一行或某些行的数据进行更新、删除操作,

      1. hive不支持对某个具体行的操作,hive对数据的操作只支持覆盖原数据和追加数据。Hive也不支持事务和索引
      2. 更新、事务和索引都是关系数据库的特征,这些hive都不支持,也不打算支持,
      3. 原因是hive的设计是海量数据进行处理,全数据的扫描时常态,针对某些具体数据进行操作的效率是很差的,对于更新操作,
      4. hive是通过查询将原表的数据进行转化最后存储在新表里,这和传统数据库的更新操作有很大不同。
    3. Hive也可以在hadoop做实时查询上做一份自己的贡献,那就是和hbase集成,hbase可以进行快速查询,

      1. 但是hbase不支持类SQL的语句,那么此时hive可以给hbase提供sql语法解析的外壳,可以用类sql语句操作hbase数据库。

    参考:

    1. 大数据时代的技术hive:hive介绍

    3. Hadoop


    3.1. 概述

    1. 概述
      1. Hadoop 是一个开源的分布式计算和存储框架,由 Apache 基金会开发和维护。
      2. Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集,并且支持在单台计算机到几千台计算机之间进行扩展。
      3. Hadoop 使用 Java 开发,所以可以在多种不同硬件平台的计算机上部署和使用。其核心部件包括分布式文件系统 (Hadoop DFS,HDFS) 和 MapReduce。

    2. 组件

    1. Hadoop 主要包含 HDFS 和 MapReduce 两大组件,HDFS 负责分布储存数据,MapReduce 负责对数据进行映射、规约处理,并汇总处理结果
    • HDFS

      1. Hadoop Distributed File System,Hadoop 分布式文件系统,简称 HDFS。
    • MapReduce

      1. MapReduce 的含义就像它的名字一样浅显:Map 和 Reduce (映射和规约) 。
    1. 实现目标
      1. 在多计算机集群环境中营造一个统一而稳定的存储和计算环境,并能为其他分布式应用服务提供平台支持。
      2. 也就是说, Hadoop 在某种程度上将多台计算机组织成了一台计算机(做同一件事),那么 HDFS 就相当于这台计算机的硬盘,而 MapReduce 就是这台计算机的 CPU 控制器。

    参考:

    1. Hadoop 教程–菜鸟教程 – 简介及docker环境搭建
    2. Hadoop 教程–W3CSchool
    3. Hadoop官方文档

    3.2. Hadoop生态技术

    参考:

    1. 极客时间: 从 Hadoop 和 Spark,看大数据技术与应用的演进

    3.2.1. 概述

    1. 今天Cloudera的 “Hadoop发行版”(CDH/HDP/CDP) 包含30多个开源项目:
      1. 存储,
      2. 计算平台(比如: YARN 和 未来的 Kubernetes),
      3. 批量/实时计算框架(Spark, Flink等),
      4. 编排
      5. SQL
      6. NoSQL
      7. ML
      8. 安全/治理等等;

    3.2.2. 架构

    • Hadoop Ecosystem
      各组件:

      1. 数据存储
      2. 数据处理
      3. 数据访问
      4. 数据管理
        20210704102401
    • Hadoop上新的增长点–技术
      嫁接到Hadoop上的新工具:

      1. 具有开发文件格式的 数据湖技术元数据管理;
      2. 处理 分析 海量数据的计算引擎 并与之实时交互方面的挑战;
        1. MapReduce 些许过时, Spark Flink 发展…
      3. 对 混合云 调度, 部署和管理的挑战;
      4. 数据可视化 的需求比以前更大;

    4. Spark

    1. 由来
      1. 并不能完全取代Hadoop原有的工具组件;
      2. 针对 Hadoop 的 一些问题进行设计;
    • 主要 DB-Engines
      • Spark SQL
      • Impala
      • Presto

    4.1. 概述

    • 优势(相比于Hadoop MapReduce)

      1. 内存计算
        1. Hadoop 采用 Map-Reduce 方式, 磁盘IO 多;
        2. Spark 优化Hadoop运算 + 内存缓存 ==> 速度更快;
      2. 丰富的API
      3. 统一的引擎
      4. 多部署方式
    • 对比优势
      20210704151515

    4.1.1. 统一的引擎

    • 组件结构
      20210704150004

    5. 数据存储及处理的发展

    • 演进
      1. Database(数据库) --> DataWarehouse(数据仓库) --> DataLake(数据湖) --> LakeHouse(湖仓一体化)

    参考:

    1. Lakehouse: 统一数据仓库和高级分析的新一代开放平台
    2. Delta Lake调研:Delta Lake是什么【2】Lakehouse和data warehouse、data lake的区别

    5.1. 数据仓库

    • 架构及特性
      20210704152807

    5.2. 数仓 + 数据湖

    • 架构及特性
      20210704153135

    5.3. 数仓一体化

    • 架构及特性
      20210704153254

    注意:

    1. 复用已有技术, 不重复造轮子
    2. 找出架构的痛点, 解决历史包袱;
    展开全文
  • 如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?对于大部分人来说都是傻傻分不清楚。 今年来大数据、人工智能获得了IT界大量的关注。如果一个企业不玩大数据,都不好意思说自己是...

     

     

     

    如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?对于大部分人来说都是傻傻分不清楚。

     

     

    今年来大数据、人工智能获得了IT界大量的关注。如果一个企业不玩大数据,都不好意思说自己是在IT圈混的。我敢打赌,你在中关村西二旗地铁站溜一圈,保准你会听到如下名词:Hadoop、Spark、MapReduce、NoSQL、离线计算、实时计算、实时推送等等一大串名称。

     

     

    程序猿们就是有这么实在,坐在地铁上还能那么投入的讨论技术问题。那么,这些听起来高大上的技术,究竟都是干什么用的呢?他们之间的有什么区别和联系?

     

     

    通常,一个技术的兴起,都是由现实需求驱动的。了解了我们面临的问题,就能更好的理解各个大数据技术的使用场景,各类大数据技术的区别也就显而易见了。

     

     

    今天这一份书单,我们就将从Hadoop生态圈开始入手,推荐几本关于Hadoop生态圈的优质书籍!

     

    Hadoop技术栈系列书单

     

    Hadoop权威指南:大数据的存储与分析(第4版)

     

     

    本书结合理论和实践,由浅入深,全方位介绍了Hadoop这一高性能的海量数据处理和分析平台。

     

    全书5部分24章,第Ⅰ部分介绍Hadoop基础知识,主题涉及Hadoop、MapReduce、Hadoop分布式文件系统、YARN、Hadoop的I/O操作。第Ⅱ部分介绍MapReduce,主题包括MapReduce应用开发;MapReduce的工作机制、MapReduce的类型与格式、MapReduce的特性。第Ⅲ部分介绍Hadoop的运维,主题涉及构建Hadoop集群、管理Hadoop。第Ⅳ部分介绍Hadoop相关开源项目,主题涉及Avro、Parquet、Flume、Sqoop、Pig、Hive、Crunch、Spark、HBase、ZooKeeper。第Ⅴ部分提供了三个案例,分别来自医疗卫生信息技术服务商塞纳(Cerner)、微软的人工智能项目ADAM(一种大规模分布式深度学习框架)和开源项目Cascading(一个新的针对MapReduce的数据处理API)。

     

     

    本书是一本专业、全面的Hadoop参考书和工具书,阐述了Hadoop生态圈的新发展和应用,程序员可以从中探索海量数据集的存储和分析,管理员可以从中了解Hadoop集群的安装和运维。

     

    作者简介

    TomWhite是杰出的Hadoop专家之一。自2007年2月以来,TomWhite一直是ApacheHadoop的提交者(committer),也是Apache软件基金会的成员。Tom是Cloudera的软件工程师,他是Cloudera的首批员工,对Apache和Cloudera做出了举足轻重的贡献。

     

     

    译者简介

    王海博士,解放军理工大学通信工程学院教授,博导,教研中心主任,长期从事无线自组网网络的设计与研发工作,主持国家自然科学基金、国家863计划课题等多项课题,近5年获军队科技进步二等奖1项,三等奖6项,作为di一发明人申请国家发明专利十余项,发表学术论文50余篇。

    刘喻博士,长期从事软件开发、软件测试和软件工程化管理工作,目前任教于清华大学软件所。

    吕粤海,长期从事军事通信网络技术研究与软件开发工作,先后通过华为光网络高级工程师认证、思科网络工程师认证。

     

     

    深度剖析Hadoop HDFS

     

    本书基于Hadoop 2.7.1版本进行分析,全面描述了HDFS 2.X的核心技术与解决方案,书中描述了HDFS内存存储、异构存储等几大核心设计,包括源码细节层面的分析,对于HDFS中比较特殊的几个场景过程也做了细粒度的分析。

     

     

    阅读本书可以帮助读者从架构设计与功能实现角度了解HDFS 2.X,同时还能学习HDFS 2.X框架中优秀的设计思想、设计模式、Java语言技巧等。这些对于读者全面提高自己分布式技术水平有很大的帮助。

     

     

    本书分为三大部分:核心设计篇、细节实现篇、解决方案篇,“核心设计篇”包括HDFS的数据存储原理、HDFS的数据管理与策略选择机制、HDFS的新颖功能特性;“细节实现篇”包括HDFS的块处理、流量处理等细节,以及部分结构分析;“解决方案篇”包括HDFS的数据管理、HDFS的数据读写、HDFS的异常场景等。本书适合于云计算相关领域研发人员、云计算相关运维工程师、高年级研究生或本科、热衷于分布式计算研究的人。

     

     

    作者简介

    林意群,唯品会上海研发中心数据应用部研发工程师,Apache Hadoop Committer,主要专注于HDFS模块的研究。对大数据处理、分布式计算兴趣浓厚,在实际工作中努力钻研,分享了大量技术文章,贡献了很多实践经验。

     

    HBase不睡觉书

     

    HBase是Apache旗下一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。利用HBase技术可在廉价的PC服务器上搭建大规模的存储化集群,使用HBase可以对数十亿级别的大数据进行实时性的高性能读写,在满足高性能的同时还保证了数据存取的原子性。


    本书共分为9章,由浅入深地讲解HBase概念、安装、配置、部署,让读者对HBase先有一个感性认识,再从应用角度介绍了高级用法、监控和性能调优。既兼顾了初学者,也适用于想要深入学习HBase的读者。


    本书适合于以前没有接触过HBase,或者了解HBase,并希望能够深入掌握的读者,适合HBase应用开发人员和系统管理人员学习使用。
     

    作者简介

    杨曦,就职于硅谷某上市公司,对大数据、云计算等技术有较深研究以及丰富的项目实践经验。热衷编写开源项目、撰写技术博客以及折腾各种技术项目。

     

    Hive实战

     

    Hive“出身名门”,是最初由Facebook公司开发的数据仓库工具。它简单且容易上手,是深入学习Hadoop技术的一个很好的切入点。

     

     

    本书由数据库专家和大数据专家共同撰写,具体内容包括:Hive的安装和配置,其核心组件和架构,Hive数据操作语言,如何加载、查询和分析数据,Hive的性能调优以及安全性,等等。本书旨在为读者打牢基础,从而踏上专业的大数据处理之旅。

     

     

    作者简介

    斯科特·肖(Scott Shaw)
    Hortonworks公司解决方案工程师,曾为微软公司的商业智能项目担任顾问,拥有近20年的数据管理经验。作为演讲者和培训师,他致力于普及分布式计算、大数据概念、商业智能、Hive和Hadoop。

    安德烈亚斯·弗朗索瓦·弗穆尔恩(Andreas Fran?ois Vermeulen)
    集数据科学家、数据仓库架构师、博士研究员、企业顾问等角色于一身,曾获“英国数据科学技术先锋”称号,广泛涉足数据工程、商业智能、云架构、深度学习等多个领域。

    安库尔·古普塔(Ankur Gupta)
    Hortonworks公司解决方案工程师,曾在Oracle公司担任顾问,有多年从事数据架构师和Oracle数据库管理员的经验,著有Oracle GoldenGate 11g Complete Cookbook。

    展开全文
  • Hadoop大数据平台架构与实践 1.1 数据收集 大数据处理的第一步是数据的收集。现在的中大型项目通常采用微服务架构进行分布式部署,所以数据的采集需要在多台服务器上进行,且采集过程不能影响正常业务的开展。基于...
  • Hadoop与Spark开源大数据技术栈: 随着大数据技术的快速发展,目前开源社区已经积累了比较完整的大数据技术栈,目前市场上应用最广泛的是以Hadoop与Spark为核心的生态系统。该生态系统分为5个层级分别是:数据收集,...
  • 本文主要介绍了Hadoop简介及Apache Hadoop完全分布式集群搭建:大数据简介,包括知识体系、大数据定义及应用场景和大数据发展趋势及从业人员发展路线等;Hadoop简介,包括Hadoop概念、起源、特点、发行版本和优缺点...
  • 在此过程中,无数互联网工程师基于自己的实践,不断完善和丰富Hadoop技术生态。经过十几年的发展,如今的大数据技术生态已相对成熟,围绕大数据应用搭建的平台架构和技术选型也逐渐趋向统一。 上图是目前国内各大...
  • 微服务架构技术栈

    2018-12-03 15:17:49
    我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据我个人的一线实践经验和我平时对 Spring Cloud 的调研,我认为 Spring Cloud 技术栈中的有些组件离生产级开发尚有一定距离。比方说 Spring ...
  • 从笔者的工作实践以及了解来看,这不是必须掌握的,但是数据开发人员必须掌握其概念、架构和工作原理,也就是说,不但要知其然,而且要知其所以然。 1.起源 Hadoop 的源头是Apache 的Nutch 项目,该项目由Doug ...
  • 提到大数据分析平台,不得不说Hadoop系统,Hadoop到现在也超过10年的历史了,很多东西发生了变化,版本也从0.x进化到目前的2.6版本。我把2012年后定义成后Hadoop平台时代,这不是说不用Hadoop,而是像NoSQL (Not ...
  • 如何选择技术栈 Apache:运维麻烦,组件间兼容性需要自己调研。 CDH:国内使用最多的版本,但CM不开源,今年开始要收费。 HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少。 如何选择中间件 数据采集...
  • Hadoop平台架构--硬件篇

    千次阅读 2016-01-28 10:13:01
    学习,条件有些艰苦,Hadoop测试集群搭建不需要太多考虑,随着毕业开始进入企业,在企业中实践Hadoop,特别是一定规模的集群,逐渐涉及到硬件资源,网络规划,操作系统,软件等一系列问题!对于一个没有经验的小白来说,还是...
  • YARN-HA配置 YARN-HA工作机制 官网文档 : ...hadoop111 hadoop112 hadoop113 NameNode NameNode — JournalNode JournalN
  • Hadoop技术栈
  • Java架构师成长之道之Java架构技术栈Java架构师成长之道 JavaSE篇 Java概述与开发环境搭建 Java数据存储 Java数据运算 Java程序流程控制 Java数组 Java面向对象程序设计(上) Java面向对象程序设计(中) Java...
  • 源 / 51CTO技术栈Hadoop 是目前大数据领域最主流的一套技术体系,包含了多种技术,例如 HDFS(分布式文件系统),YARN(分布式资源调度系统),MapRed...
  • Hadoop架构移动互联网数据挖掘技术架构 摘要:本文则主要介绍TalkingData在大数据平台建设过程中,逐渐引入Spark,并且以Hadoop YARN和Spark为基础来构建移动大数据平台的过程。 当下,Spark已经在国内得到了...
  • Linux系统运维与架构设计技术栈Linux系统运维与架构设计 Linux系统基础入门 Linux系统概述与运维环境搭建 Linux系统管理 文件目录管理 用户管理 权限管理 VIM编辑器的使用 文档压缩打包 程序包管理(安装、...
  • 转变:从SQL技术栈到图技术栈

    千次阅读 2020-09-01 13:00:59
    【摘要】传统的以SQL为中心的技术栈无法有效地应对大数据场景带来的多元异构数据管理、大规模关系网络管理和复杂网络分析等挑战,本文针对新型大数据技术栈展开研究。通过分析图数据模型的优势,结合图技术的发展和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,788
精华内容 4,315
关键字:

hadoop技术栈架构