企业级Hadoop大数据平台实战(1)——基础知识说明

#1 hadoop定义

Hadoop是一个由Apache基金会所开发的分布式系统基础架构
用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上
而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序
HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据
Hadoop的框架最核心的设计就是:HDFS和MapReduce
HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算

#2 什么是云计算?

Impala is the open source version of Dremel, Google’s proprietary big data query solution. A first beta is available and the production version is foreseen for Q1 2013.

Impala allows you to run real-time queries on top of Hadoop’s HDFS, Hbase and Hive. No migrations necessary.

Apache Crunch (incubating) is a Java library for writing, testing, and running MapReduce pipelines, based on Google’s FlumeJava. Its goal is to make pipelines that are composed of many user-defined functions simple to write, easy to test, and efficient to run.
Running on top of Hadoop MapReduce, Apache Crunch provides a simple Java API for tasks like joining and data aggregation that are tedious to implement on plain MapReduce. For Scala users, there is also Scrunch, an idiomatic Scala API to Crunch.

RHadoop是由Revolution Analytics发起的一个开源项目,它可以将统计语言R与Hadoop结合起来。目前该项目包括三个R packages,分别为支持用R来编写MapReduce应用的rmr、用于R语言访问HDFS的rhdfs以及用于R语言访问HBASE的rhbase。

What is RHIPE?
RHIPE (hree-pay’) is the R and Hadoop Integrated Programming Environment. It means “in a moment” in Greek. RHIPE is a merger of R and Hadoop. R is the widely used, highly acclaimed interactive language and environment for data analysis. Hadoop consists of the Hadoop Distributed File System (HDFS) and the MapReduce distributed compute engine. RHIPE allows an analyst to carry out D&R analysis of complex big data wholly from within R. RHIPE communicates with Hadoop to carry out the big, parallel computations.

Apache Mahout是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。经典算法包括聚类、分类、协同过滤、进化编程等等,并且,在 Mahout 的最近版本中还加入了对 Apache Hadoop 的支持,使这些算法可以更高效的运行在云计算环境中。

什么是云计算?针对这个问题,恐怕十个专家会给出十一个互不相同的答案,而事实上也有无数的文章从各个角度试图给出一个简单而确切的定义。在最肤浅的级别上来说,原来基于web 2.0技术开发的曾被称作web应用程序的都可摇身一变称自己为“云程序”,因为任何运行于浏览器中收集并存储用户相关内容的应用都的确可以作为云程序的应用范例,比如以Facebook为代表的社交站点、以内容分享为代表的YouTube、基于Web的邮件服务Gmail以及诸如Google Docs类的应用程序。在这种层面上,“云”指的是运行了这些站点的主机群。诸如此类的应用,每种都会随着用户数据的日积月累进而带来“大数据”问题。

云计算的另一个重要表现是效用计算,即将计算资源本身当作一种可计量的服务,就像电或者水一样。这种模型中,用户只需要向“云供应商”购买实际需要的计算能力即可,实际应用中,这是通过向用户提供运行了某操作系统的虚拟机来实现的,即云供应商使用虚拟化技术在用户之间分配计算资源。用户对其拥有的虚拟机具有完全使用权限,而其使用结束后,只需要“销毁”此虚拟机就能释放其原来占用的资源。

站在效用计算提供商的角度来看,这种模型中运营较大规模的数据中心的收益也会优于小规模的数据中心。目前,虽然有越来越多企业或组织加入,但Amazon Web服务仍是此种应用领域的领头羊和主导者。而相关应用的开源解决方案Eucalyptus也正越来越引起人们的兴趣。效用计算模型的实际应用是通过向用户提供虚拟机实例来完成的,用户通过此虚拟机来访问服务,这即是所谓的“基础架构即服务(IaaS)”。然而,这对许多用户来说都过于“底层”了,于是就有了“平台即服务(PaaS)。PaaS通常指的是一些事先定义好的服务的集合,基于这些服务,用记可以创建应用程序或部署数据等。Google App Engine是此类应用中其最出色的代表,它为用户提供了后台存储及构建高可扩展性web应用程序的API。而其基础架构部分则由Google进行维护,从而让用户从备份、升级、打补丁甚至是提供存储和编程环境等繁琐的日常管理任务中解脱出来。PaaS仍需要用户自己根据实际需要构建应用程序,对于不具有程序研发能力的公司来说,他们需要的是更为高层次一些的服务,“软件即服务(SaaS)”则应运而生。SaaS将某种具体的应用软件以“云服务”的方式通过浏览器向用户提供,其著名的代表有Salesforce提供的CRM软件。

#3 hadoop的优点

Hadoop是一个能够对大量数据进行分布式处理的软件框架。
Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。
Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。
Hadoop 还是可伸缩的,能够处理 PB 级数据。
此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。
用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序

针对性的优点
在这里插入图片描述
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的
Hadoop 上的应用程序也可以使用其他语言编写,比如 C++

#4 hadoop大数据处理的意义

Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。
Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,
因为类似这样操作的批处理结果可以直接走向存储。
Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,
之后再以单个数据集的形式加载(Reduce)到数据仓库里

#5 核心架构

Hadoop 由许多元素构成。其最底部是 Hadoo

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程简介:  本项目课程是一门极具综合性和完整性的大型项目课程;课程项目的业务背景源自各类互联网公司对海量用户浏览行为数据和业务数据分析的需求及企业数据管理、数据运营需求。 本课程项目涵盖数据采集与预处理、数据仓库体系建设、用户画像系统建设、数据治理(元数据管理、数据质量管理)、任务调度系统、数据服务层建设、OLAP即席分析系统建设等大量模块,力求原汁原味重现一个完备的企业级大型数据运营系统。  拒绝demo,拒绝宏观抽象,拒绝只讲不练,本课程高度揉和理论与实战,并兼顾各层次的学员,真正从0开始,循序渐进,每一个步骤每一个环节,都会带领学员从需求分析开始,到逻辑设计,最后落实到每一行代码,所有流程都采用企业级解决方案,并手把手带领学员一一实现,拒绝复制粘贴,拒绝demo化的实现。并且会穿插大量的原创图解,来帮助学员理解复杂逻辑,掌握关键流程,熟悉核心架构。   跟随项目课程,历经接近100+小时的时间,从需求分析开始,到数据埋点采集,到预处理程序代码编写,到数仓体系搭建......逐渐展开整个项目的宏大视图,构建起整个项目的摩天大厦。  由于本课程不光讲解项目的实现,还会在实现过程中反复揉和各种技术细节,各种设计思想,各种最佳实践思维,学完本项目并勤于实践的话,学员的收获将远远超越一个项目的具体实现,更能对大型数据系统开发产生深刻体悟,对很多技术的应用将感觉豁然开朗,并带来融会贯通能力的巨大飞跃。当然,最直接的收获是,学完本课程,你将很容易就拿到大数据数仓建设或用户画像建设等岗位的OFFER课程模块: 1. 数据采集:涉及到埋点日志flume采集系统,sqoop业务数据抽取系统等; 2. 数据预处理:涉及到各类字典数据构建,复杂结构数据清洗解析,数据集成,数据修正,以及多渠道数据的用户身份标识打通:ID-MAPPING等;3. 数据仓库:涉及到hive数仓基础设施搭建,数仓分层体系设计,数仓分析主题设计,多维分析实现,ETL任务脚本开发,ETL任务调度,数据生命周期管理等;4. 数据治理:涉及数据资产查询管理,数据质量监控管理,atlas元数据管理系统,atlas数据血缘管理等;5. 用户画像系统:涉及画像标签体系设计,标签体系层级关系设计,各类标签计算实现,兴趣类标签的衰减合并,模型标签的机器学习算法应用及特征提取、模型训练等;6. OLAP即席分析平台:涉及OLAP平台的整体架构设计,技术选型,底层存储实现,Presto查询引擎搭建,数据服务接口开发等;7. 数据服务:涉及数据服务的整体设计理念,架构搭建,各类数据访问需求的restapi开发等;课程所涉及的技术: 整个项目课程中,将涉及到一个大型数据系统中所用到的几乎所有主要技术,具体来说,包含但不限于如下技术组件:l Hadoopl Hivel HBasel SparkCore /SparkSQL/ Spark GRAPHX / Spark Mllibl Sqoopl Azkabanl Flumel lasal Kafkal Zookeeperl Solrl Prestop

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值