生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

万亿数据下 Hadoop 的核心竞争力

  • 2019-06-20
  • 本文字数:3608 字

    阅读完需:约 12 分钟

万亿数据下 Hadoop 的核心竞争力

1. 前言

在大数据时代,Hadoop 有着得天独厚的优势。然而,每个企业的技术储备和需求特点不同,他们希望从海量的客户数据中挖掘真正的商业价值,像 Google 、Facebook 、Twitter 等这样的企业更是 Hadoop 的最早获益者。那么,今天我们就来聊一聊,万亿数据下 Hadoop 的核心竞争力。

2. 什么是 Hadoop ?

在了解 Hadoop 之前,不得不说的一个名词—— “ 大数据 ” 。大数据是时代发展和技术进步的产物,大数据的特征如下:


  • 庞大的数据容量

  • 结构化、半结构化、非结构化的数据类型

  • 高效的处理速度

  • 高质量的数据



Hadoop 由 Apache 基金会孵化并开源的分布式系统,用户可以在不了解分布式底层设计的情况下,开发分布式应用程序,充分利用集群的优势来进行高速的运算和存储。自从 Hadoop 作为 Apache 基金会开源项目发布以来,它一直备受青睐,这得益于 Hadoop 的可扩展性、低成本、灵活的处理模式等特点。

3. 万亿数据下的难点?

数据量达到万亿规模,这已经是一个很庞大的数据量了。这里难点我们可以分为两种情况,一种是原理上不知道怎么处理,没有具体的实施方案,这个属于技术难题。另一种,虽然有具体的实施方案,也明白其中的原理,但是数据规模太过庞大,这个属于工程上的难点。


数据规模庞大带来的难点主要体现在分布式的要求,因为单个节点不足以在有效的成本和规定的时间内处理完所有的数据。简而言之:


  • 并行化问题:处理数据的应用程序要改造成适合并行的方式;

  • 资源分配管理问题:如何有效的管理提交任务的资源,内存、网络、磁盘等;

  • 容错问题:随着机器数量的增加,可靠性如何保证,例如部分机器硬件出错导致不可用,最终结果的完整性和正确性如何保证。

4. Hadoop 的组成部分有哪些?能做什么?

截止至本篇文章,Hadoop 社区发布了 Hadoop-3.2.0 版本,其核心组成部分包含:基础公共库 ( Common ) 、分布式文件存储系统 ( HDFS ) 、分布式计算框架 ( MapReduce ) 、分布式资源调度与管理系统 ( YARN ) 、分布式对象存储框架 ( OZone ) 、机器学习引擎 ( Submarine ) 。


4.1 Hadoop Common

Hadoop Common 属于基础公共库,它是 Hadoop 最底层的一个模块,为 Hadoop 各个子项目提供各种工具,例如配置文件、操作日志等。

4.2 Hadoop Distributed File System

Hadoop Distributed File System 简称 HDFS,它是 Hadoop 的一个分布式文件系统,类似于 Amazon 的 S3 系统,Google 的 GFS 系统。


HDFS 可以处理分布在集群中的大文件,它通过将文件分成数据块来完成此操作。同时,我们可以并行访问分布式数据 ( 例如,在进行数据处理时 ) ,各个数据节点进行数据交互形成数据块的副本。


4.3 Hadoop YARN

YARN 是 Hadoop 的一个分布式资源管理框架,可以为上层应用提供统一的资源管理与调度。通过引入 YARN,Hadoop 集群在资源利用率、资源统一管理、数据共享等方面带来了巨大的好处。



Client 应用提交任务到 YARN ,流程如下:


  1. Client 发送请求给 RM

  2. ResourceManager ( 简称 RM ) 返回 ApplicationId 给 Client

  3. Client 发送 ApplicationId 、QueueName 、用户等信息给 RM

  4. RM 寻找合适的 Container ,并将 Client 提交的信息给 NodeManager ( 简称 NM )

  5. 然后在 NM 中启动 AM ,RM 给 AM 分配最大最小资源

  6. AM 从 RM 那里获取的可使用资源来申请一些 Container

  7. Job 在 Container 中执行,由 AM 返回任务进度,任务执行完成后,AM 向 RM 发送结束任务信息然后退出

4.4 Hadoop MapReduce

MapReduce 是 Hadoop 的一个分布式计算框架,用来处理海量数据。同时,还可以使用 MapReduce 框架来实现一些算法,例如统计单词频率、数据去重、排序、分组等。

4.5 Hadoop OZone

Ozone 是 Hadoop 的可扩展、冗余和分布式对象存储。除了扩展到数十亿不同大小的对象外,OZone 还能在 Kubernetes 和 YARN 等容器环境中有效发挥作用。


  • 可扩展性:OZone 设计之初能够扩展到数百亿个文件和数据块,并且在将来会扩展到更多;

  • 一致性:OZone 是一个强一致性对象存储,它所使用的协议是类似于 RAFT 来实现的;

  • 云集成:OZone 设计之初能够与 YARN 和 Kubernetes 集成使用;

  • 安全性:OZone 能够与 Kerberos 集成,用于控制访问权限,并支持 TDE 和线上加密;

  • 多协议支持:OZone 能够支持不同的协议,例如 S3、HDFS;

  • 高可用:OZone 是一个多副本系统,用于保证数据高可用性。

4.6 Hadoop Submarine

Submarine 是一个允许基础设施工程师 / 数据科学家在资源管理平台 ( 如 YARN ) 上运行深度学习应用程序 ( Tensorflow ,Pytorch 等 ) 的项目。


  • 在已有集群运行:Submarine 支持在 YARN 、Kubernetes 或者其他类似的调度框架中使用;

  • 支持多种框架:Submarine 支持多种机器学习框架,例如 TensorFlow 、Pytorch 、MxNet 等;

  • 覆盖整个 ML:Submarine 不仅仅是一个机器学习引擎,它涵盖了整个机器学习过程,例如算法开发、模型批量训练、模型增量训练、模型在线服务和模型管理。

5. Hadoop 的核心竞争力在哪?

Hadoop 如此受人喜欢,很大程度上取决于用户对大数据存储、管理和分析需求的迫切。大数据是目前很多企业面临的一个挑战,由于数据量的庞大、数据类型的复杂 ,特别是非结构化或者半结构化的数据远远多于结构化的数据,一些传统的基于关系型数据库的存储和分析难以满足时,且关系型数据库巨大成本压力也是很多企业考虑的问题,而 Hadoop 给人们提供了解决大数据问题的技术手段。


大数据时代需要 Hadoop ,那么 Hadoop 的核心竞争力在哪呢?

5.1 降低大数据成本

Hadoop 使企业可以高效的管理数据,以降低数据成本,其中包含业务成本、硬件成本、人工成本、存储成本等。通过易用性、权威性、时效性等特性,Hadoop 还可以帮助用户增加数据价值。目前 Hadoop 社区的支持,以及各大 Hadoop 厂商的支持,使得 Hadoop 从一个单独的开源软件逐步演变成一个具有一定规模的生态系统,这些厂商包含 Cloudera 、MapR 、Hortonworks 等,他们在这一生态系统中扮演着不同的角色,例如有系统厂商、监控服务商、数据分析商等。


而使用者可以从这些厂商中提供的系统来简化 Hadoop 的学习成本,快速构建符合自身要求的大数据平台,同时合理利用厂商提供的附属组件来开发出高效、易用的的大数据应用。

5.2 成熟的 Hadoop 生态圈

Hadoop 不是一个 “ 孤岛 ” 系统,它拥有成熟的 Hadoop 生态圈。



利用 Hadoop 生态圈设计满足自身需求的方案,需要考虑一些关键要素:


  1. 从需求的最终结果开始分析,而不是从可用的工具开始。例如,可用性、一致性等;

  2. 对数据处理时效性的评估,例如离线任务 ( MapReduce 、Hive ) 、实时任务 ( Flink、Spark Streaming );

  3. 尽可能使用成熟的方案。


案例一:获取最后一小时的热门链接


将热门链接集中收集,使用 Flume 将链接发送到 Kafka ,然后使用 Flink 或者 Spark Streaming 计算引擎在 1 小时的窗口内分析数据,最后将计算后的结果写入到 HBase 进行存储。



案例二:为用户推荐电影


这是一个实时场景,用户喜欢电影,那么用户应立即看到相关电影。


解决思路:每次用户给出评级时,计算建议都是包含权重的,因此我们应该定期根据现有用户行为计算建议。根据对用户行为的理解,可以为给定用户预测所有电影的推荐,然后对其进行排序,并过滤用户已经开过的内容。


组件选取:数据库可以使用 NoSQL 数据库,例如 HBase 。来存储用户评级。计算引擎方面可以选择 Flink 或者 Spark ML 通过 Oozie 定时调度来重新计算用户电影推荐。然后,使用 Flume 和 Spark Streaming 用于流式传输和处理实时用户行为。


工作流程:Web 服务器将用户评级发送给 Flume ,后者将其传递给 Spark Streaming ,然后将结果保存到 HBase 中。接着,使用 Oozie 定时调度执行 Spark ML 应用来重新计算电影推荐并将结果保存到 HBase 中。


6. 是否一定要选择 Hadoop ?

与传统数据库系统相比较,开源的 Hadoop 有自己的优势。尤其是 Hadoop 既能处理关系型数据库中的结构化数据,也能处理视频、音频、图片等非结构化数据。并且 Hadoop 还能够根据数据的规模和问题的复杂度轻松的扩展。那是不是一定要用 Hadoop ?


每个企业都有自己的特殊需求,都有自己的技能栈,如果已经购买了成熟的数据库产品,没有必要舍弃这些产品,要确保对 Hadoop 足够的了解,不要盲目的 “ 跟风 ” 。


然而,Hadoop 是解决大数据的一种技术手段,这个是一个趋势,例如 Hadoop 与 AI 、IoT 等领域的结合使用。了解和掌握 Hadoop 是有所必要的,可以从一些小的项目尝试积累更多经验。


7. 结束语

这篇文章就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以发送邮件给我,我会尽我所能为您解答,与君共勉!

作者介绍:

哥不是小萝莉,知名博主,著有《 Kafka 并不难学 》和《 Hadoop 大数据挖掘从入门到进阶实战 》。


作者博客:


https://www.cnblogs.com/smartloli/


邮箱:smartloli.org@gmail.com


Hadoop 一书,链接:


https://item.jd.com/12371763.html


Kafka 一书,链接:


https://item.jd.com/12455361.html


本文来自 DataFun 社区


原文链接


https://mp.weixin.qq.com/s/6XsPXapbpUFnk26-1S7tjA


2019-06-20 08:005691

评论

发布
暂无评论
发现更多内容

软件测试工程师应该怎样规划自己

程序员阿沐

程序员 职业规划 软件测试 自动化测试 经验分享

ONNX 浅析:如何加速深度学习算法工程化?

拍乐云Pano

人工智能 深度学习 音视频

【IM开源推荐】前微信技术专家打造的开源的即时通讯组件OpenIM

OpenIM

等保三级多久测评一次?每年都要测评吗?

行云管家

网络安全 信息安全 等保

40 个 SpringBoot 常用注解:让生产力爆表

Java 面试 框架 Spring Boot 2

相约重庆,2021 DEMO CHINA创新中国峰会倒计时六天

创业邦

Java 17 正式发布,Oracle 宣布从 JDK 17 开始正式免费,Java 迈入新时代

Java 编程 源码 架构

【云计算】从事云计算运维可以考取哪些证书?

行云管家

云计算 阿里云 运维 华为云 云运维

【OpenIM原创】IM服务端docker、源码、集群部署 非常实用

OpenIM

区块链是如何运作的、是如何防止被篡改的?

CECBC

重磅发布!百度飞桨获2021全球智博会产品金奖

百度大脑

人工智能

使用分布式锁的正确姿势

张大彪

分布式锁

开源应用中心|这款小而强大的开源博客程序,简直让人爱不释手!

开源

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之六:数字生态篇

SOA开发者平台

软件 SOA 生态 汽车 OTA

Alibaba iOS 工程架构腐化治理实践

阿里巴巴终端技术

ios 研发效能 客户端 架构治理

到底什么是区块链?是咋样的运营原理

CECBC

2021智博会全国区块链大赛暨首届“星火杯”区块链应用大赛正式启动

浪潮云

云计算,

WorkPlus即时通讯软件,满足政企局域网办公需求

WorkPlus

Android如何用代码执行shell命令

Changing Lin

9月日更

观测云品牌正式亮相,携手中国信通院共推国内可观测性概念与技术发展!

观测云

自动化驱动的高可用网络:爱奇艺B2网络流量自动调度系统建设实践

爱奇艺技术产品团队

流量

【上汽零束SOA】云管端一体化SOA软件平台系列介绍之六:数字生态篇

SOA开发者

自动驾驶 SOA 智能汽车 OTA

让全链路压测变得更简单!Takin2.0重磅来袭!

TakinTalks稳定性社区

围绕低代码开发存在的三个误解

低代码小观

程序员 低代码 企业管理 低代码开发平台 应用开发

量化交易APP开发,量化交易系统源码

13530558032

北鲲云SaaS平台为生物制药研发进程带来“加速度”

北鲲云

财经违规自媒体集体扑街,必须打击违规自媒体账号

石头IT视角

Alibaba 80k Star《Java面试突击手册》(全彩版)开源

Java 程序员 架构 面试 计算机

集齐海外主流云平台,EMQ X Cloud 正式支持 Google Cloud Platform 部署

EMQ映云科技

IoT Google Cloud AIOT 云 原生云 CTO

【Vuex 源码学习】第五篇 - Vuex 中 Mutations 和 Actions 的实现

Brave

源码 vuex 9月日更

花了3个小时解决了和异地女朋友一起看电影的需求(内附源码)

ZEGO即构

android 音视频 一起看电影

万亿数据下 Hadoop 的核心竞争力_大数据_DataFunTalk_InfoQ精选文章