返回顶部
首页 > 资讯 > 数据库 >hadoop生态圈的详解
  • 397
分享到

hadoop生态圈的详解

2024-04-02 19:04:59 397人浏览 安东尼
摘要

学习和使用hadoop有一年了,这里主要分享一下对hadoop整体上的理解,分门别类的介绍一下相关组件,最后提供了建议的学习路线,希望对hadoop的初学者有参考作用。 1.  

学习和使用hadoop有一年了,这里主要分享一下对hadoop整体上的理解,分门别类的介绍一下相关组件,最后提供了建议的学习路线,希望对hadoop的初学者有参考作用。

 

1.      Hadoop核心件组有哪些? 广义hadoop指什么?

 

2.      Spark与hadoop之间有什么联系

  • Spark也是一个生态圈,发展非很快,在计算方面比mapreduce要快很多倍,供了一个简单而丰富的编程模型,支持多种应用,包括ETL、机器学习、数据流处理、图形计算;

  • Hadoop和Spark在某些方面有重叠,但组件之间都可以很好的协同作战。

 

3.      分门别类介绍其中详细组件

为了方便理解以下按照功能进行了分类,并且把较为流行的排在了前面介绍,列表如下:

分类

相关产品

文件系统

        HDFS,目前大量采用的分布式文件系统,是整个大数据应用场景的基础通用文件存储组件

        S3, Simple Storage Service简单存储服务,更好的可扩展性,内置的持久性,以及较低的价格

资源调度

        YARN,分布式资源调度,可以接收计算的任务把它分配到集群各节点处理,相当于大数据操作系统,通用性好,生态支持好;

        Mesos,同YARN类似,偏向于资源的抽象和管理

计算框架

        Spark序列,有流计算、图计算、机器学习;

        flink,支持计算数据不断变化,即增量计算;

        StORM,专注于流式计算,功能强大;

        Mapreduce, 分布式计算基本计算框架,编程难度高,执行效率低

数据库

        Hbase,一种NoSQL列簇数据库,支持数十亿行数百万列大型数据储存和访问,尤其是写数据的性能非常好,数据读取实时性较好,提供一套api,不支持sql操作,数据存储采用HDFS;

        Cassandra,对大型表格和 Dynamo支持得最好;

        Redis,运行异常快,还可应用于分布式缓存场景

SQL支持

        Spark SQL,由Shark、Hive发展而来的,以SQL方式访问数据源(如hdfs、hbase、S3、redis甚至关系统数据库等,下同);

        Phoenix,一套专注于SQL方式访问hbase的JDBC驱动,支持绝大部分SQL语法,支持二级索引,支持事务,低延时;

        Hive,通过HQL(类似SQL)来统计分析生成查询结果,通过解析HQL生成可以Mapreduce上执行的任务,典型的应用场景是与hbase集成;

        其它:impala、pig等,都实现了类似的功能,解决了直接写map/reduce分析数据的复杂性,降低了数据分析工作者或开发人员使用大数据的门槛

其它工具

        分布式协作zookeeper,可以理解为一个小型高性能的数据库,为生态圈中与很多组件提供发布订阅的功能,还可以监测节点是否失效(心跳检测),如HBase、Kafka中利用zookeeper存放了主从节点信息;

        Kafka, 是一种分布式的,基于发布/订阅的消息系统,类似于消息对列的功能,可以接收生产者(如WEBservice、文件、hdfs、hbase等)的数据,本身可以缓存起来,然后可以发送给消费者(同上),起到缓冲和适配的作;

        Flume,分布式的海量日志采集、聚合和传输的系统,主要作用是数据的收集和传输,也支持非常多的输入输出数据源;

        Sqoop,主要用于在Hadoop(Hive)与传统的数据库(Mysqlpostgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : mysql ,oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中

 

4.      典型的组合使用场景

Hadoop、Spark生态圈的组件是相互配合使用的,每个组件都有自己“用武之地”,组合起来完成即可以满足各种系统业务需求,下面列举两个例子:

(1)数据采集、存储、分析场景

该场景下完成了整个数据的采集、存储、分析,并输出结果,组件搭配如下:

Flume + kafka(zookeeper)+ Hdfs + Spark/Storm/Hive + Hbase (Zookeeper、Hdfs) /Redis

说明如下:

  • Flume用来从种渠道(如Http、exec、文件、kafka , …)收集数据,并发送到kaffka(当然也可以存放到hdfs、hbase、file、…)

  • Kafka可以缓存数据,与flume一样也支持各种协议的输入和输出,由于kafka需要zookeeper来完成负载均衡和HA,所以需要zookeeper来支持

  • 开始计算,这里有三种选择,Spark/Storm/Hive,各有优势,相对Hive目前仍使用广泛,该技术出现的较早;Storm专注于流式处理,延迟非常低; Spark最有前景的计算工具;不管用什么,最终都是对数据的清理、统计,把得到的结果输出

  • 展示结果数据存储,可以使用Hbase kafka(zookeeper) /Redis或mysql等,看使用场景(数据量大小等因素),由于处理之后的结果数据一般比较少可以直接放到Redis,然后就可以采用常规的技术展示出报表或其它消费方式使用这些计算后的结果数据

 

(2)数据存储和实时访问

这种场景非常类似常规应用开发场景,即通过java的JDBC来访问大数据集群,组件搭配:

Jdbc + Solr + Phoenix/Spark sql + Hbase kafka(zookeeper) + Hdfs

说明如下:

  • Jdbc是通用的java操作数据库的方式,使用的是sql语句

  • Solr为全文检索,完成站点分词搜索功能

  • Phoenix/Spark sql方便以jdbc方式访问Hbase数据库

  • Hdfs最终完成数据的物理存储

5.      建议的学习线路

仅凭个人经验,大概的分了三个阶段,如下:

hadoop生态圈的详解


打个广告,最近录了一门课程,大部分是免费的,忙我凑凑人气哦!请点击 HBase 设计和编程开发视频课程


您可能感兴趣的文档:

--结束END--

本文标题: hadoop生态圈的详解

本文链接: https://lsjlt.com/news/36888.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • hadoop生态圈的详解
    学习和使用hadoop有一年了,这里主要分享一下对hadoop整体上的理解,分门别类的介绍一下相关组件,最后提供了建议的学习路线,希望对hadoop的初学者有参考作用。 1.  ...
    99+
    2024-04-02
  • HADOOP生态圈知识概述
    一. hadoop 生态概况Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。具有可靠、高效、可...
    99+
    2024-04-02
  • Hadoop之生态系统
    Hadoop生态系统一、摘要            经过几年的快速发展,Hadoop现在已经发展...
    99+
    2024-04-02
  • Hadoop生态系统概述
    Hadoop生态系统是一个由多个组件组成的开源软件框架,用于存储、处理和分析大规模数据集。该生态系统由Apache Hadoop项目...
    99+
    2024-02-29
    Hadoop
  • Hadoop的生态系统是什么
    这篇文章主要讲解了“Hadoop的生态系统是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hadoop的生态系统是什么”吧!hadoop生态系统,意思就是以hadoop为平台的各种应用框...
    99+
    2023-06-02
  • Hadoop生态之分析MapReduce及Hive
    这篇文章主要讲解了“Hadoop生态之分析MapReduce及Hive”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hadoop生态之分析MapReduce...
    99+
    2024-04-02
  • 大数据Hadoop生态系统介绍
    目录一、概述1)Hadoop发行版本1、Apache Hadoop发行版2、DKhadoop发行版3、Cloudera发行版4、Hortonworks发行版5、华为hadoop发行版2)Hadoop1.x -》 Hadoop2.x的演变3...
    99+
    2014-12-24
    大数据Hadoop生态系统介绍
  • 如何进行spark原理及生态圈分析
    今天就跟大家聊聊有关如何进行spark原理及生态圈分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。简介1 Spark简介Spark是加州大学伯克利分校AMP实验室(Algorith...
    99+
    2023-06-03
  • 为 Android 生态圈提供更好的无障碍功能
    作者: Ian Stoba, 项目经理,无障碍工程师全球 Android 设备数量突破 10 亿台,Play Store 应用商店提供数千万款应用让用户尽情探索。鉴于硬件与软件...
    99+
    2022-06-06
    障碍 无障碍 Android
  • Flume与Hadoop生态系统怎么集成
    Flume是一个分布式、可靠的日志收集系统,而Hadoop是一个用于存储和处理大规模数据的开源框架。Flume与Hadoop生态系统...
    99+
    2024-04-02
  • Hadoop上Data Locality的详解
    Hadoop上Data Locality的详解Hadoop上的Data Locality是指数据与Mapper任务运行时数据的距离接近程度(Data Locality in Hadoop refers to the“proximity” o...
    99+
    2023-05-30
    hadoop data locality
  • javascript动态生成表格详解
    *创建一个页面:两个输入框和一个按钮 *代码和步骤 代码如下: <html > <head> <title>动态生成表格<...
    99+
    2024-04-02
  • Hadoop生态系统的存储格式CarbonData性能分析
    本篇内容主要讲解“Hadoop生态系统的存储格式CarbonData性能分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hadoop生态系统的存储格式CarbonData性能分析”吧!&nbs...
    99+
    2023-06-02
  • Hadoop的安装过程详解
    本篇内容主要讲解“Hadoop的安装过程详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hadoop的安装过程详解”吧!安装JDK解压jdk压缩包 tar -zxvf&nb...
    99+
    2023-06-03
  • 碧波荡漾,一池春水:NoSQL 数据库的生态圈之争
    ...
    99+
    2024-04-02
  • windows状态栏一直转圈如何解决
    本篇内容主要讲解“windows状态栏一直转圈如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows状态栏一直转圈如何解决”吧!方法一: 首先按下快捷键“ctrl+ESC+shif...
    99+
    2023-07-02
  • Java实现动态生成GIF图像详解
    目录背景特点用途AnimatedGifEncoder简介GIF创作生成一、创建maven项目二、自定义生成三、自定义将多张图片合成话外题-怀念巨人总结背景 在互联网上有许多有趣的场景...
    99+
    2024-04-02
  • JavaScript实现生成动态表格和动态效果的方法详解
    今天上午完成了Vue实现一个表格的动态样式,那么JavaScript代码能不能实现同样的效果呢?这样也可以学习一下JavaScript的语法,晚上试了一下,完全可以,效果一模一样。 ...
    99+
    2024-04-02
  • Hadoop Combiner使用方法详解
    Hadoop Combiner使用方法详解Combiner函数是一个可选的中间函数,发生在Map阶段,Mapper执行完成后立即执行。使用Combiner有如下两个优势: Combiner可以用来减少发送到Reducer的数据量,从而提高...
    99+
    2023-05-30
    hadoop combiner
  • Hadoop数据湖架构详解
    Hadoop数据湖架构是一种灵活的数据存储和处理架构,用于存储和管理大规模的结构化和非结构化数据。数据湖架构基于Apache Had...
    99+
    2024-02-29
    Hadoop
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作