【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

万亿数据下 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:005678

评论

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

关于防御性编程,你应该知道的事

架构精进之路

编程 4月月更

实施知识管理过程中存在的问题(内附解决方案)

小炮

知识管理

整机生产制造头部厂商雷神科技加入龙蜥社区

OpenAnolis小助手

Linux 开源 整机

专属云资源包计算规格探秘

天翼云开发者社区

VMware Workstation Pro虚拟机网络设置

DS小龙哥

4月月更

【课程汇总】OpenHarmony全场景Demo数字管家系列课(附链接)

OpenHarmony开发者

OpenHarmony 数字管家

手绘模型图带你认识Kafka服务端网络模型

华为云开发者联盟

kafka 多线程 网络模型 Reactor多线程 Processor

TDengine 应用实录:存储缩减超过 60%,HBase 等集群指数级下线

TDengine

数据库 tdengine 物联网

压测做的不对,等于白做

基调听云

性能测试 压测 全链路压测

java培训浅谈程序员怎么避免面试过程中碰壁

@零度

面试 JAVA开发

PolarDB-X 正式发布2.1.0版本,Paxos 重磅开源

阿里云数据库开源

数据库 阿里云 开源 分布式 PolarDB-X

国内20家优秀一线低代码平台推荐,经典收藏

J2PaaS低代码平台

低代码 开发工具 低代码平台 J2PaaS低代码

制造业企业数据平台建设最佳实践分享

华为云开发者联盟

数字化转型 数据平台 制造业 华为工业云平台 数据应用

人工智能融合赋能平台,赋能智慧城市智能化升级

脑极体

天翼云新一代V5云主机,Kvm之生,Xen之死!

天翼云开发者社区

Vue DevTools 使用指南 - 如何安装和使用 Vue DevTools 调试 Vue 组件

蒋川

Vue vue devtools

Kubernetes官方java客户端之五:proto基本操作

程序员欣宸

4月月更

深圳“摘星”!但常态化疫情防控工作不可松

科技新消息

书单 | 一季度重磅级上榜新书!

博文视点Broadview

每周更新 | Verilog测试用例及波形展示图功能上线

ShowMeBug

再论ORACLE上云通用技术方案

天翼云开发者社区

云天励飞全场景方案助力科技防疫

科技新消息

蒙牛2021年报:数智化大脑为乳业插上腾飞翅膀

科技新消息

Linux 管道操作符详解

CRMEB

领域驱动设计入门与实践[下]

LigaAI

团队管理 DDD 领域驱动设计思想 LigaAI

洞见科技荣获隐私计算新势力奖!创始人姚明出席华夏时报「2022智能数据论坛」

洞见科技

隐私计算 数据智能

程序员不好招了吗,web前端培训应该怎么学习

@零度

前端开发

GPU时代来临!

Finovy Cloud

人工智能 gpu GPU服务器

科学防控 云天励飞打造抗疫全场景方案

科技新消息

大数据培训程序员面试屡次碰壁怎么办

@零度

面试 大数据开发

墨天轮访谈 | 腾讯张铭:带你揭秘王者荣耀背后的游戏数据库 TcaplusDB

墨天轮

数据库 TcaplusDB 国产数据库

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