概述
边数据:作业所需的额外的只读数据,辅助处理主数据集
1 JobConf
> Configuration类的setter方法
> Context.getConfiguration()
> 如果是复杂的元数据,用户自定义序列化或者使用Stringifier类
2 分布式缓存
分布式缓存优于序列化边数据
工作机制
> 用户启动作业,Hadoop使用-files -archives -libjars等选项将指定文件复制到分布式文件系统中
> 任务运行前,NM将文件从DFS复制到本地磁盘使任务访问,此时文件本地化
> 文件以符号链接的方式指向任务工作目录
> -libjars指定的文件会在任务执行前添加到任务的classpath
> NM使用Counter统计文件使用情况
> 缓存容量过高时,LRU删除文件
> yarn-nodemanager.localizer.cache.target-size-mb设置缓存大小,默认10GB
工具GenericOptionsParser
-files 指定分发的文件,包含逗号隔开的URI列表
-archives 复制存档文件
-libjars 将JAR文件添加到classpath
hadoop jar hadoop-examples.jar
MaxTemperatureByStationNameUsingDistributedCacheFile
-files input/ncdc/metadata/stations-fixed-width.txt input/ncdc.all output
将本地文件statioins-fixed-width.txt复制到任务节点
分布式缓存API
Job API
addCacheXXXX()
setCacheXXXX()
addXXXXToClassPath()
最后
以上就是大力方盒为你收集整理的MapReduce特性(四) 边数据分布的全部内容,希望文章能够帮你解决MapReduce特性(四) 边数据分布所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复