MAPREDUCE服务 MRS-Hive Join数据优化:Map Join
Map Join
Hive的Map Join适用于能够在内存中存放下的小表(指表大小小于25MB),通过“hive.mapjoin.smalltable.filesize”定义小表的大小,默认为25MB。
Map Join的方法有两种:
使用Map Join时没有Reduce任务,而是在Map任务前起了一个MapReduce Local Task,这个Task通过TableScan读取小表内容到本机,在本机以HashTable的形式保存并写入硬盘上传到DFS,并在distributed cache中保存,在Map Task中从本地磁盘或者distributed cache中读取小表内容直接与大表join得到结果并输出。
使用Map Join时需要注意小表不能过大,如果小表将内存基本用尽,会使整个系统性能下降甚至出现内存溢出的异常。
- MapReduce服务_什么是HDFS_HDFS特性
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是MapReduce服务_什么是HBase
- 什么是Spark_如何使用Spark_Spark的功能是什么
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- MapReduce服务_什么是Hue_如何使用Hue
- MapReduce服务_什么是Kafka_如何使用Kafka
- MapReduce服务_什么是Yarn_如何使用Yarn
- MapReduce服务_什么是Flink_如何使用Flink