走进 spark

虽然 Hadoop 在分布式数据分析方面备受关注,但是仍有一些替代产品提供了优于典型 Hadoop 平台的令人关注的优势。Spark 是一种可扩展的数据分析平台,它整合了内存计算的基元,它在性能方面更具优势。

Spark 是在 Scala 语言中实现的,并且利用了该语言,为数据处理提供了独一无二的环境。

了解 Spark 的集群计算方法以及它与 Hadoop 的不同之处。

Spark 是一种与 Hadoop 相似的开源集群计算环境,两者之间存在一些不同之处

这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越

Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。

与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为Mesos 的第三方集群框架可以支持此行为。

Spark 由加州大学伯克利分校 AMP 实验室开发,可用来构建大型、低延迟数据分析应用程序。

虽然 Spark 与 Hadoop 有相似之处,但它提供了具有有用差异的一个新的集群计算框架。

首先,Spark 是为集群计算中的特定类型的工作负载而设计,即那些在并行操作之间重用工作数据集的工作负载。

为了优化这些类型的工作负载,Spark 引进了内存集群计算的概念,可在内存集群计算中将数据集缓存在内存中,以缩短访问延迟。

Spark 还引进弹性分布式数据集抽象

RDD 是分布在一组节点中的只读对象集合。

这些集合是弹性的,如果数据集一部分丢失,则可以对它们进行重建。重建部分数据集的过程依赖于容错机制,该机制可以维护 “血统”(即充许基于数据衍生过程重建部分数据集的信息)。

RDD 被表示为一个 Scala 对象,并且可以从文件中创建它;一个并行化的切片(遍布于节点之间);另一个 RDD 的转换形式;并且最终会彻底改变现有 RDD 的持久性,比如请求缓存在内存中。

Spark 中的应用程序称为驱动程序,这些驱动程序可实现在单一节点上执行的操作或在一组节点上并行执行的操作。

与 Hadoop 类似,Spark 支持单节点集群或多节点集群。对于多节点操作,Spark 依赖于 Mesos 集群管理器。

Mesos 为分布式应用程序的资源共享和隔离提供了一个有效平台。

该设置充许 Spark 与 Hadoop 共存于节点的一个共享池中。


Spark 编程模式

驱动程序可以在数据集上执行两种类型的操作:动作和转换。

动作 会在数据集上执行一个计算,并向驱动程序返回一个值

转换 会从现有数据集中创建一个新的数据集

动作的示例包括执行一个 Reduce 操作以及在数据集上进行迭代

转换示例包括 Map 操作和 Cache 操作(它请求新的数据集存储在内存中)。

我们随后就会看看这两个操作的示例,但是,让我们先来了解一下 Scala 语言。


Spark的基本API是一种Scala DSL,围绕名为弹性分布式数据集的分布式项集合构建。

利用分布式执行,RDD可以支持批量和聚集操作,如筛选、映射和reduceByKey。

Spark可以使用Hive SQL提供具有同等执行速度的原生Scala API。

重用Hive的前端和后端意味着它可以与Hive一起使用,共享数据、查询和UDFs。

Spark使用MLib提供了一系列开箱即用的机器学习算法,涉及分类、回归分析、聚簇和推荐领域。

MLib只是MLBase的一个组件。

MLBase是一个分布式机器学习系统,旨在使机器学习任务对于终端用户和ML研究人员都更简单易懂。

它是第一个将用户从算法选择中解放出来的系统,并针对分布式执行进行自动优化。

图算法可以用GraphX实现,后者结合了数据并行和图并行两种系统语义。

SparkR向R暴露了Spark API,允许统计人员从R函数直接向Apache Spark集群提交作业。

Spark可以部署在Apache YARN上,易于与异构系统集成和共存。

Streaming可以帮助快速创建原型及应用有效的分布式系统语义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的医院后台管理系统实现了病房管理、病例管理、处方管理、字典管理、公告信息管理、患者管理、药品管理、医生管理、预约医生管理、住院管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让医院后台管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值