spark 学习笔记一

yarn 优化了mapreduce 的资源调度问题.但最初mapreduce 的设计模式要求将中间数据存储在磁盘上,并在网络中传输,这样会导致计算效率不高的问题,spark是一种类mapreduce 的通用并行框架,不同于mapreduce 算法的是,spark 任务的中间结果可以保存在内存中,从而不用再读写hdfs.而且spark 还提出了RDD 的概念,调度中采用了更为通用的有向任务执行计划图(DAG)。RDD 是分布在一组节点中的只读对象集合,如果它们中的一部分丢失,则可以依赖于容错机制进行重建,因此成为“弹性的”。

由于spark 以基于内存的计算为主,并采用了RDD 的框架,因此它更适合计算实时性更高的应用场景。hadoop 采用java 语言编写的,spark 采用scala 编写的,它将scala 作为其应用程序的框架,这样scala既可以像操作本地集合对象一样轻松地操作分布式数据集,同时也保持了spark内核的简洁性。

在许多场景下,人们只是想利用hadoop 进行一个简单的查询,为此写一大堆mapreduce代码是得不偿失的,因此,为了使人们可以像sql 语言那样,只提供一些简单的命令和脚本,就可以获得强大的查询和修改数据的功能,Hive便是hadoop 中的一个利器。 它是建立在hadoop 基础之上的数据仓库工具,可以存储,查询,分析存储在HDFS中的大规模数据,为了实现数据的提取,转化,加载,hive 也定义了一种简单的类sql 查询语言,HiveQL.Hive 会将sql 语言转化为Mapreduce 任务在后台运行。HiveQL 也允许熟悉mapreduce框架的用户,开发自定义的mapper,reducer,来处理内建模块无法完成的复杂工作。

从架构上,Hive 主要包括如下模块:用户端,解释器,元数据存储和分析数据存储。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值