hive设置reduce个数 | hive设置mapreduce内存

hive设置reduce个数 | hive设置mapreduce内存

1. hive设置mapreduce内存

Kudo是一个列式存储的用于快速分析的NoSQL数据库,提供了类似SQL的查询语句,与RDBMS十分类似,有**PRIMARY KEY **,基于主键查询而不是HBase的RowKey

低延迟随机存取

与其他大数据数据库不同,Kudu不仅仅是一个文件格式。行访问达到毫秒级延迟,支持C++ JAVA, API PyThon API 拥有简单好用的API

融会贯通入Hadoop生态系统

你可以使用Java Client实时导入数据,同时也支持Spark(运算) impala(分析工具,比Hive快) MapReduce HDFS HBase 很容易从HDFS中获取数据,占用内存小于1G

列式存储有利于编码和压缩,数据比使用Parquet压缩还省空间。这样的高压缩,降低了数据的IO,为计算服务。使用如laze data这样的技术,使得超高速成为可能

分布式和容错机制

Kudu通过把tables切分成tablets,每个表都可以配置切分的哈希,分区和组合

Kudu使用了Raft来复制给定的操作,保证了数据同时存储在两个节点上,因此不村子单点故障

2. hive MapReduce

Hive支持索引,

但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键。

Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要读取的数据块的数量。

在可以预见到分区数据非常庞大的情况下,索引常常是优于分区的。

虽然Hive并不像事物数据库那样针对个别的行来执行查询、更新、删除等操作。它更多的用在多任务节点的场景下,快速地全表扫描大规模数据。但是在某些场景下,建立索引还是可以提高Hive表指定列的查询速度。(虽然效果差强人意)

3. mapreduce存储

funstore是一款分析和处理大数据的平台的软件,funstore这款软件在大量计算机组成的集群当中实现了对于海量的数据进行的分布式计算,包括最新的大数据进阶资料和高级开发教程,hdfs和mapreduce为海量的数据提供了存储,为海量的数据提供了计算。

4. hive设置map内存大小

平台组件包含以下内容:

1.Mysql

传统关系型数据库,为Hive、Hue、Spark组件提供元数据存储服务。

2.Elasticsearch

兼有搜索引擎和NoSQL数据库功能开源系统,基于JAVA/Lucene构建,开源、分布式、支持RESTful请求。

3.Flink

一个批处理和流处理结合的统一计算框架,提供数据分发以及并行化计算的流数据处理引擎。

4.Flume

一个分布式、可靠和高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;

同时,Flume提供对数据进行简单处理,并写入各种数据接受方(可定制)的能力。

5.HBase

提供海量数据存储功能,是一种构建在HDFS之上的分布式、面向列的存储系统。HDFS Hadoop分布式文件系统提供高吞吐量的数据访问,适合大规模数据集方面的应用。

6.Hive

建立在Hadoop基础上的开源的数据仓库,提供类似SQL的Hive Query Language语言操作结构化数据存储服务和基本的数据分析服务。

7.Hue

提供了图形化用户Web界面。Hue支持展示多种组件,目前支持HDFS、Hive、YARN/Mapreduce、Oozie、Solr、ZooKeeper。

8.Kafka

一个分布式的、分区的、多副本的实时消息发布和订阅系统。提供可扩展、高吞吐、低延迟、高可靠的消息分发服务。

9.Sqoop

实现与关系型数据库、文件系统之间交换数据和文件的数据加载工具;同时提供REST API接口,供第三方调度平台调用。

10.Mapreduce

提供快速并行处理大量数据的能力,是一种分布式数据处理模式和执行环境。

11.Oozie

提供了对开源Hadoop组件的任务编排、执行的功能。以Java Web应用程序的形式运行在Java servlet容器(如:Tomcat)中,并使用数据库来存储工作流定义、当前运行的工作流实例(含实例的状态和变量)。

12.Redis 一个开源的、高性能的key-value分布式存储数据库,支持丰富的数据类型,弥补了memcached这类key-value存储的不足,满足实时的高并发需求。

13.SmallFS

提供小文件后台合并功能,能够自动发现系统中的小文件(通过文件大小阈值判断),在闲时进行合并,并把元数据存储到本地的LevelDB中,来降低NameNode压力,同时提供新的FileSystem接口,让用户能够透明的对这些小文件进行访问。

14.Solr

一个高性能,基于Lucene的全文检索服务器。Spark 基于内存进行计算的分布式计算框架。

15.Storm

提供分布式、高性能、高可靠、容错的实时计算平台,可以对海量数据进行实时处理。CQL提供的类SQL流处理语言,可以快速进行业务开发,缩短业务上线时间。

16.Yarn

资源管理系统,它是一个通用的资源模块,可以为各类应用程序进行资源管理和调度。

17.ZooKeeper

提供分布式、高可用性的协调服务能力。帮助系统避免单点故障,从而建立可靠的应用程序。

5. mapreduce是基于内存计算的吗

mapreduce不适合迭代计算(如机器学习、图计算等),交互式处理(数据挖掘) 和流式处理(点击日志分析), 其中间结果需要落地,需要保存磁盘,这样必然会有磁盘io操做,影响性能。

spark把运算的中间数据存放在内存,迭代计算效率更高,更适合做需要反复迭代的计算。

mapreduce一个job里,只有一对M与R,而spark的一个job里可以有多个M多个R。mapreduce需要好多个job来完成的spark一个job就完成了,而且spark的除了shuffle算子需要落盘,其他的都不需要,省去了io开销。

6. mapreduce内存分配

MapReduce包含四个组成部分,分别为Client,JobTracker,TaskTracker,Task

1. client客户端

每一个Job都会在用户端通过Client类将应用程序以及配置信息Configuration打包成Jar文件上传到HDFS,并把路径提交到JobTracker的master服务,然后由master创建每一个Task(即MapTask和ReduceTask),将它们分发到各个TaskTracker服务中去执行。

2. JobTracker

JobTracker负责资源监控和作业调度。JobTracker监控所有的TaskTracker与Job的健康状态,一旦发现失败,就将相应的任务转移到其他节点;同时JobTracker会跟踪任务的执行进度,资源使用量等信息,并将这些信息告诉任务调度器,而调度器会在资源出现空闲时,选择合适的任务使用这些资源。在Hadoop中,任务调度器是一个可插拔的模块,用于可以根据自己的需要设计相应的调度器。

3TaskTracker

TaskTracker是运行在多个节点上的slave服务。TaskTracker主动与JobTracker通信(与DataNode和NameNode相似,通过心跳来实现),会周期性地将本节点上资源使用情况和任务的运行进度汇报给JobTracker,同时执行JobTracker发送过来的命令并执行相应的操作(如启动新任务,杀死任务等)。TaskTracker使用"slot"等量划分本节点上的资源量。"slot"代表计算资源(cpu,内存等)。一个Task获取到一个slot之后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上的空闲slot分配给Task使用。slot分为MapSlot和ReduceSlot两种,分别提供MapTask和ReduceTask使用。TaskTracker通过slot数目(可配置参数)限定Task的并发度。

4Task:

Task分为MapTask和ReduceTask两种,均由TaskTracker启动。HDFS以固定大小的block为基本单位存储数据,而对于MapReduce而言,其处理单位是split。split是一个逻辑概念,它只包含一些元数据信息,比如数据起始位置、数据长度、数据所在节点等。它的划分方法完全有用户自己决定。但需要注意的是,split的多少决定了MapTask的数目,因为每一个split只会交给一个MapTask处理。

7. hive和mapreduce

hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载。

这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。

hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。

hive十分适合对数据仓库进行统计分析。

8. hive默认reduce个数

oracle是数据库,而hive是数据仓库,二者最大的区别就在于存储和计算.oracle数据库是支持存储计算功能的,Hive是基于hadoop的数据仓库工具,hive本身没有存储和计算能力,完全依赖于hdfs和MapReduce进行分布式存储和并行计算;通过将oracle/mysql等数据库中的表映射成hive上的一张表,使用hql语句对表数据进行增删改查操作,本质是将hql语句转化成Mapreduce程序运行.

hiveoracle依赖于Mapreduce进行计算本身内置计算能力不支持数据更新支持数据更新处理数据规模大,执行延迟高处理数据规模小,执行延迟低依赖于hdfs进行存储,分布式海量存储本身具有存储能力,存储能力有限扩展性高, 非插件情况下不支持事务扩展性差,支持事务,支持复杂索引不可以接入web前端进行展示可以接入前端web进行展示

9. hive 内存设置

共同点: 1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储 区别:

2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。

3.想象你在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。

4.Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。

5.Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑。

6.hive借用hadoop的MapReduce来完成一些hive中的命令的执行 7.hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。 8.hbase是列存储。 9.hdfs作为底层存储,hdfs是存放文件的系统,而Hbase负责组织文件。 10.hive需要用到hdfs存储文件,需要用到MapReduce计算框架。

10. Hive不依赖HDFS和MapReduce来完成数据的存储和处理

Hadoop是大数据处理框架,工具

hdfs和mapReduce是Hadoop的两个原始核心功能,前者是负责储存的系统,类似把试卷放在几个柜子里,后者负责并行计算,类似把100份试卷分给5个人批改。

Hadoop后来逐渐加了其他工具

hive提供数据汇总查询功能,给了一个窗口处理数据,对数据进行加减乘除。

hbase是一个可扩展的、非关系型数据库,不是传统的excel表那种的数据格式

spark是比mapReduce更快的计算框架

Hadoop和mysql的关系是“Friends with benefits”

Hadoop的并行处理系统加上mysql的快速处理大量数据能力,就能得到一个能够使用关系型数据并以巨大速度进行计算的数据库。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部