参数名称 | 描述 | 默认值 mapjoin.reduce.tasks | MapJoin操作中使用的reduce任务数。 | 1 mapjoin.rowThreshold | 用于触发MapJoin的最小行数阈值,低于此阈值的表将自动进行MapJoin。 | 4096 mapjoin.keyThreshold | 用于触发MapJoin的最小键值对数量阈值,低于此阈值的键值对将自动进行MapJoin。 | 100 mapreduce.map.join舒适性阈值 | 当Map端join的键值对数量超过这个值时,将使用MapJoin而不是Broadcast Join。 | 20000 mapreduce.map.join.compress.join | 是否在MapJoin操作中压缩join的输出。 | true mapreduce.map.join.compress.codec | MapJoin输出压缩所使用的压缩算法。 | org.apache.hadoop.io.compress.SnappyCodec mapreduce.map.join.threshold | 当两个表的连接中较小的表的大小超过这个值时,使用MapJoin。 | 100000 mapreduce.map.join.reduces | MapJoin操作的reduce任务数。 | 1 mapreduce.join.hash.memory.per減少 | 每个reduce任务用于join的内存大小。 | 0.25 mapreduce.join.reducers.bytes.per.reduсe | 每个reduce任务的内存大小限制。 | 0.25
上述参数的默认值可能会根据Hive的版本和配置而有所不同,在使用这些参数时,应根据具体的数据规模和集群资源进行适当调整,以下是对每个参数的简要说明:
mapjoin.reduce.tasks
:指定MapJoin操作中使用的reduce任务数。
mapjoin.rowThreshold
:当小表中的行数低于此阈值时,自动触发MapJoin。
mapjoin.keyThreshold
:当小表中的键值对数量低于此阈值时,自动触发MapJoin。
mapreduce.map.join舒适性阈值
:当Map端join的键值对数量超过此值时,优先使用MapJoin。
mapreduce.map.join.compress.join
:是否在MapJoin操作中压缩输出。
mapreduce.map.join.compress.codec
:MapJoin输出压缩所使用的压缩算法。
mapreduce.map.join.threshold
:当小表的大小超过此值时,使用MapJoin。
mapreduce.map.join.reduces
:MapJoin操作的reduce任务数。
mapreduce.join.hash.memory.per减少
:每个reduce任务用于join的内存大小。
mapreduce.join.reducers.bytes.per.reduсe
:每个reduce任务的内存大小限制。
在配置这些参数时,应考虑以下因素:
数据大小和表的大小。
集群资源,包括内存和CPU。
性能优化需求。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1177643.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复