湖科史上最も獰猛の作业!!!

Hadoop 生态圈组件介绍:

Pig:Hadoop上的数据流执行引擎,由Yahoo开源,基于HDFS和MapReduce,使用Pig Latin语言表达数据流,目的在于让MapReduce用起来更简单。

Sqoop:主要用于在Hadoop和传统数据库进行数据互导。

ZooKeeper:分布式的,开放源码的分布式应用程序协调服务。

Flume:分布式、可靠、高可用的服务,它能够将不同数据源的海量日志数据进行高效收集、汇聚、移动,最后存储到一个中心化数据存储系统中,它是一个轻量级的工具,简单、灵活、容易部署,适应各种方式日志收集并支持failover和负载均衡。

Hive:构建在Hadoop之上的数据仓库,用于解决海量结构化的日志数据统计,定义了一种类SQL查询语言。

YARN:资源协调者、Hadoop 资源管理器,提供统一的资源管理和调度。

Impala:基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata。

Solr:基于Lucene的全文检索引擎。

Hue:开源的Apache Hadoop UI系统,基于Python Web框架Django实现的。通过使用Hue可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据。

Oozie:基于工作流引擎的服务器,可以在上面运行Hadoop任务,是管理Hadoop作业的工作流调度系统。

Storm:分布式实时大数据处理系统,用于流计算。

Hbase:构建在HDFS上的分布式列存储系统,海量非结构化数据仓库。

Spark:海量数据处理的内存计算引擎,Spark框架包含Spark Streaming、Spark SQL、MLlib、GraphX四部分。

Mahout:Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现。

Drill:低延迟的分布式海量数据(涵盖结构化、半结构化以及嵌套数据)交互式查询引擎,使用ANSI SQL兼容语法,支持本地文件、HDFS、HBase、MongoDB等后端存储,支持Parquet、JSON、CSV、TSV、PSV等数据格式。

Tez:有向无环图的执行引擎,DAG作业的开源计算框架。

Shark:SQL on Spark,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业。

介绍mapreduce概述:

MapReduce是一个软件框架,可以将单个计算作业分配给多台计算机执行。它假定这些作业在单机上需要很长的运行时间,因此使用多台机器缩短运行时间。常见的例子是日常统计数字汇总,该任务单机上执行时间将超过一整天。

优点:可在短时间内完成大量工作。

缺点:算法必需经过重写,需要对系统工程有一定的理解。

适用数据类型:数值型和标称型数据。

MapReduce在大量节点组成的集群上运行。

工作流程:单个作业被分成很多小份,输入数据也被切片分发到每个节点,各个节点只在本地数据上做运算,对应的运算代码称为mapper,这个过程被称为map阶段。每个mapper的输出通过某种方式组合(一般还会做排序)。排序后的结果再被分成小份分发到各个节点进行下一步处理工作。第二步的处理阶段被称为reduce阶段,对应的运行代码被称为reducer。reducer的输出就是程序的最终执行结果。

在map和reduce阶段中间,有一个sort或combine阶段。mapper和reducer传输的数据形式为key/value对。

MapReduce的优势在于,它使得程序以并行方式执行。

spark技术特点和概述:

概述

随 着 互 联 网 的 高 速 发 展, 以 大 数 据 为 核 心 的 计 算 框 架 不 断 出 现, 从 支 持 离 线 的MapReduce 席卷全球,到支持在线处理的 Storm 异军突起,支持迭代计算的 Spark 攻城拔寨,支持高性能数据挖掘的 MPI 深耕细作。

最底层:分布式存储系统

资源管理:Mesos,YARN等集群资源管理模式 或 Spark自带的独立运行模式 以及本地运行模式。

Spark:为上层多种应用提供服务。如:

Spark SQL:提供SQL查询服务,性能比Hive快3-50倍。

MLlib:提供机器学习服务

GraphX:提供图计算服务

Spark Streaming将流式计算分解为一系列短小的批处理计算,并且提高可靠和吞吐量服务。

其中,基于Hadoop的资源管理器YARN实际上是一个弹性计算平台,作为统一的计算资源管理框架,不仅仅服务于MapReduce计算框架,而且已经实现了多种计算框架进行统一管理。这种共享集群资源的模式带来了很多好处。

资源利用率高

多种框架共享资源的模式有效解决了由于应用程序数量的不均衡性导致的高峰时段任务比较拥挤,空闲时段任务比较空闲的问题;同时均衡了内存和 CPU等资源的利用。

实现了数据共享

随着数据量的增加,数据移动成本越来越高,网络带宽、磁盘空间、磁盘 IO 都会成为瓶颈,在分散数据的情况下,会造成任务执行的成本提高,获得结果的周期变长,而数据共享模式可以让多种框架共享数据和硬件资源,大幅度减少数据分散带来的成本。

有效降低运维和管理成本

相比较一种计算框架需要一批维护人员,而运维人员较多又会带来的管理成本的上升;共享模式只需要少数的运维人员和管理人员即可完成多个框架的统一运维管理,便于运维优化和运维管理策略统一执行。

总之, Spark 凭借其良好的伸缩性、快速的在线处理速度、具有 Hadoop 基因等一系列优势,迅速成为大数据处理领域的佼佼者。 Apache Spark 已经成为整合以下大数据应用的标准平台:

交互式查询,包括 SQL;

实时流处理;

复杂的分析,包括机器学习、图计算;

批处理

特点:

快速

Spark 有先进的 DAG 执行引擎,支持循环数据流和内存计算; Spark 程序在

内存中的运行速度是 Hadoop MapReduce 运行速度的 100 倍,在磁盘上的运行速度是

Hadoop MapReduce 运行速度的 10 倍,如图所示。

易用

Spark 支持使用 Java、 Scala、 Python 语言快速编写应用,提供超过 80 个高级运算符,使得编写并行应用程序变得容易。

通用

Spark 可以与 SQL、 Streaming 以及复杂的分析良好结合。基于 Spark,有一系列高级工具,包括 Spark SQL、 MLlib(机器学习库)、 GraphX 和 Spark Streaming,支持在一个应用中同时使用这些架构,如图所示。

有效集成 Hadoop

Spark 可以指定 Hadoop, YARN 的版本来编译出合适的发行版本, Spark 也能够很容易地运行在 EC2、 Mesos 上,或以 Standalone 模式运行,并从HDFS、 HBase、 Cassandra 和其他 Hadoop 数据源读取数据。

Spark 使用了内存分布式数据集,除了能够提供交互式查询外,还优化了迭代工作负载,在 Spark SQL、 Spark Streaming、 MLlib、 GraphX 都有自己的子项目。在互联网领域, Spark在快速查询、实时日志采集处理、业务推荐、定制广告、用户图计算等方面都有相应的应用。国内的一些大公司,比如阿里巴巴、腾讯、 Intel、网易、科大讯飞、百分点科技等都有实际业务运行在 Spark 平台上。下面简要说明 Spark 在各个领域中的用途。

快速查询系统,基于日志数据的快速查询系统业务构建于 Spark 之上,利用其快速查询以及内存表等优势,能够承担大部分日志数据的即时查询工作;在性能方面,普遍比 Hive 快 2 ~ 10 倍,如果使用内存表的功能,性能将会比 Hive 快百倍。

实时日志采集处理,通过 Spark Streaming 实时进行业务日志采集,快速迭代处理,

并进行综合分析,能够满足线上系统分析要求。

业务推荐系统,使用 Spark 将业务推荐系统的小时和天级别的模型训练转变为分钟级

别的模型训练,有效优化相关排名、个性化推荐以及热点点击分析等。

定制广告系统,在定制广告业务方面需要大数据做应用分析、效果分析、定向优化等,借助 Spark 快速迭代的优势,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,支持上亿的请求量处理;模拟广告投放计算效率高、延迟小,同 MapReduce 相比延迟至少降低一个数量级。

用户图计算。利用 GraphX 解决了许多生产问题,包括以下计算场景:基于度分布的中枢节点发现、基于最大连通图的社区发现、基于三角形计数的关系衡量、基于随机游走的用户属性传播等。

mapreduce和spark的区别

MapReduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

spark:Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

2.特点

mr:稳点,但是编程API不灵活、速度慢、只能做离线计算

spark:通用、编程API简洁、快,但是相较于mr没有mr更稳定

3.关于运行环境:

MR运行在YARN上。

spark

local:本地运行

standalone:使用Spark自带的资源管理框架,运行spark的应用

yarn:将spark应用类似mr一样,提交到yarn上运行

mesos:类似yarn的一种资源管理框架

4.MapReduce和Spark的本质区别:

MR只能做离线计算,如果实现复杂计算逻辑,一个MR搞不定,就需要将多个MR按照先后顺序连成一串,一个MR计算完成后会将计算结果写入到HDFS中,下一个MR将上一个MR的输出作为输入,这样就要频繁读写HDFS,网络IO和磁盘IO会成为性能瓶颈。从而导致效率低下。

spark既可以做离线计算,有可以做实时计算,提供了抽象的数据集(RDD、Dataset、DataFrame、DStream)有高度封装的API,算子丰富,并且使用了更先进的DAG有向无环图调度思想,可以对执行计划优化后在执行,并且可以数据可以cache到内存中进行复用。

结构化数据与非结构化数据:

结构化数据也称作行数据,简单来说就是数据库。它是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。与结构化数据相对的是不适于由数据库二维表来表现的非结构化数据,包括所有格式的办公文档、XML、HTML、各类报表、图片和咅频、视频信息等。支持非结构化数据的数据库采用多值字段、了字段和变长字段机制进行数据项的创建和管理,广泛应用于全文检索和各种多媒体信息处理领域。

非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。计算机信息化系统中的数据分为结构化数据和非结构化数据。非结构化数据其格式非常多样,标准也是多样性的,而且在技术上非结构化信息比结构化信息更难标准化和理解。所以存储、检索、发布以及利用需要更加智能化的IT技术,比如海量存储、智能检索、知识挖掘、内容保护、信息的增值开发利用等。

LINUX基础命令:

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值