千家信息网

hadoop如何通过cachefile来避免数据倾斜

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍了hadoop如何通过cachefile来避免数据倾斜,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。package h
千家信息网最后更新 2025年12月03日hadoop如何通过cachefile来避免数据倾斜

这篇文章主要介绍了hadoop如何通过cachefile来避免数据倾斜,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

package hello_hadoop;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URI;import java.net.URISyntaxException;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.filecache.DistributedCache;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.input.FileSplit;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class GetFileName {        //得到处理的文件名,以及将需要的文件缓存到相应的节点        private final static  Log LOG = LogFactory.getLog(GetFileName.class);        public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException, URISyntaxException {                LOG.info("Go into the main method ......");                Configuration conf = new Configuration();                Job job = Job.getInstance(conf);                                job.setJarByClass(GetFileName.class);                job.setMapOutputKeyClass(Text.class);                job.setMapOutputValueClass(Text.class);                job.setMapperClass(GetFileNameMapper.class);                job.setNumReduceTasks(0);                //集群上添加DistributedCache data134:9000namenode的描述   #thelinkofthefile改文件的链接,下面读取的时候需要使用                job.addCacheFile(new URI("hdfs://data134:9000/home/tmp.txt#thelinkofthefile"));                FileInputFormat.addInputPath(job, new Path(args[0]));                FileOutputFormat.setOutputPath(job, new Path(args[1]));                boolean test = job.waitForCompletion(true);                LOG.info("End  the main method ......");                System.exit(test?0:1);                  }}class GetFileNameMapper extends Mapper{        private final Log LOG = LogFactory.getLog(GetFileNameMapper.class);                @Override        protected void setup(Mapper.Context context)                        throws IOException, InterruptedException {                if(context.getCacheFiles().length>0);                URI u = context.getCacheFiles()[0];                //这里使用链接来访问文件                BufferedReader br = new BufferedReader( new FileReader(new File("./thelinkofthefile")));                String line = br.readLine();                context.write(new Text(line), new Text());                System.out.println("Here I read Line :"+line);        }        @Override        protected void map(LongWritable key, Text value, Mapper.Context context)                        throws IOException, InterruptedException {        }}

感谢你能够认真阅读完这篇文章,希望小编分享的"hadoop如何通过cachefile来避免数据倾斜"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 篇文章 数据 链接 价值 兴趣 同时 文件名 时候 更多 朋友 知识 缓存 编带 节点 行业 资讯 资讯频道 集群 频道 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发分包商 无锡动能服务器多少钱 ic卡智能水表数据库打不开 网络安全督查考核制度 哈尔滨旋律互联网科技骗 漯河网络安全工程师课程 贵州时代网络技术分类产品介绍 广州九发远程互联网医疗科技 前端缓存数据库 创建一个软件开发工作室 绘图软件开发 三级教程网络技术题库 丹东惠民卡服务器响应错误 海外代办服务器 数据库管理系统课程设计作业 计算机三级网络技术考c语言 网络安全绘画图片一年级 python连接oracle数据库 服务器和笔记本用网线怎么连接 上海展览无纸化会议系统服务器 医院管理系统用什么数据库 连接dbf数据库出错 广东pc软件开发常见问题 本地电脑服务器管理 电脑怎么控制游戏的服务器 安徽服务器机柜售价 软件开发公司财务做账 宁波官方软件开发来电咨询 网络技术的发展阶段是由哪些 网络安全 信息化 人民至上
0