Big Data framework hadoop core competencies?

In the era of big data, Hadoop has a unique advantage. However, different technical reserves and demand characteristics of each business, they want to dig real business value from vast amounts of customer data, companies like Google, Facebook, Twitter and other Hadoop is the earliest beneficiaries. Well, today we have to chat, the core competitiveness of Hadoop data next trillion.

1 Introduction

In the big data era , Hadoop  has a unique advantage. However, different technical reserves and demand characteristics of each business, they want to dig real business value from vast amounts of customer data, companies like Google, Facebook, Twitter and other Hadoop is the earliest beneficiaries. Well, today we have to chat, the next trillion data  Hadoop  core competitiveness.

2. What is Hadoop?

Before looking at Hadoop, I have to say a noun - "big data." Big Data is a product of the times and technological advances, features large data is as follows:

♦ large data capacity

♦ structured, semi-structured, unstructured data type

♦ high processing speed

♦ high-quality data

 

 

Hadoop incubation by the Apache Foundation and open source distributed system, users can without knowing the underlying distributed design, development of distributed applications to take full advantage of high-speed cluster computing and storage. Since Hadoop Apache Foundation released as an open source project, which has been favored, thanks to features of Hadoop, scalability, low cost, flexible processing mode.

3. trillion difficulty in data?

The amount of data reaches trillion, which is already a very large amount of data. Here difficulty we can be divided into two cases, one does not know how to deal with the principle, no specific embodiment, this belongs to the technical problems. Another, although specific embodiments, but also understand the principle of them, but the data size is too large, this difficulty on the part of the project.

Difficulties caused by large-scale data distributed mainly in demand, because a single node is not sufficient to complete all of the data processed in an effective and cost-specified time. in short:

♦ parallelization issues: the application process for data to be transformed into a parallel manner;

♦ resource allocation management problem: how to effectively manage the task of submitting resources, memory, network, disk and so on;

♦ fault tolerance: With the increase in the number of machines, how to ensure the reliability of, for example, part of the machine hardware error cause is not available, what the final result of the completeness and correctness guarantee.

4. Hadoop is an integral part of what? What to do?

As of this article, Hadoop community released a Hadoop-3.2.0 version of its core components include: basic public library (Common), distributed file storage system (HDFS), a distributed computing framework (MapReduce), Distributed Resource scheduling and management system (YARN), distributed object storage frame (OZone), machine learning engine (Submarine).

 

 

4.1 Hadoop Common

Hadoop the Common belongs to the basic public library, which is the bottom of a module Hadoop, provide tools to each sub Hadoop, such as configuration files, operation log.

4.2 Hadoop Distributed File System

Hadoop Distributed File System referred to HDFS, the Hadoop which is a distributed file system, similar to Amazon's S3 system, Google's GFS system.

HDFS large files can be distributed in a cluster, it accomplishes this by dividing the file into blocks. At the same time, we can access the parallel distributed data (e.g., during data processing), the respective data node to exchange data block copy is formed.

 

 

4.3 Hadoop YARN

YARN is a distributed resource management framework Hadoop can provide a unified resource management and scheduling for the upper application. By introducing YARN, Hadoop cluster has brought great benefits in terms of resource utilization, unified resource management, data sharing.

 

 

Client applications submit tasks to YARN, process is as follows:

♦ Client sends a request to RM

♦ ResourceManager ( 简称 RM ) 返回 ApplicationId 给 Client

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

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

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

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

♦ 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 生态圈设计满足自身需求的方案,需要考虑一些关键要素:

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

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

♦ 尽可能使用成熟的方案。

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

将热门链接集中收集,使用 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. 结束语

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

 

强力推荐阅读文章

年薪40+W的大数据开发【教程】,都在这儿!

大数据零基础快速入门教程

Java基础教程

web前端开发基础教程

linux基础入门教程学习

大数据工程师必须了解的七大概念

云计算和大数据未来五大趋势

如何快速建立自己的大数据知识体系

Guess you like

Origin blog.csdn.net/chengxvsyu/article/details/93137088