news 2026/6/18 22:18:31

mapreduce输出乱码的处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mapreduce输出乱码的处理

mapreduce输出乱码的处理,主要在于数据的编码,默认是以utf-8编码。

若数据源不是以utf-8编码,如以gbk编码的。若在mapreduce中要以gbk进行解码。

核心语句:

String str = new String(value.getBytes(), 0, value.getLength(), "GBK");

解释:value.getBytes()是获取字节码数据,转换成字符码是需要加相应编码。

程序实验:

package org.two; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.NullWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import java.io.IOException; public class CleanOneDriver { public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException { Configuration conn = new Configuration(); Job job = Job.getInstance(conn); job.setJarByClass(CleanOneDriver.class); job.setMapperClass(CleanOneMapper.class); job.setReducerClass(CleanOneReduce.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(NullWritable.class); FileInputFormat.addInputPath(job,new Path(args[0])); FileOutputFormat.setOutputPath(job,new Path(args[1])); System.exit(job.waitForCompletion(true)?0:1); } private static class CleanOneMapper extends Mapper<LongWritable,Text,Text,NullWritable> { @Override protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, NullWritable>.Context context) throws IOException, InterruptedException { String str = new String(value.getBytes(), 0, value.getLength(), "GBK"); context.write(new Text(str),NullWritable.get()); } } private static class CleanOneReduce extends Reducer<Text,NullWritable,Text,NullWritable> { @Override protected void reduce(Text key, Iterable<NullWritable> values, Reducer<Text, NullWritable, Text, NullWritable>.Context context) throws IOException, InterruptedException { context.write(key,NullWritable.get()); } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 18:05:19

Touch控制器芯片功能解析:系统学习硬件交互原理

以下是对您提供的博文内容进行 深度润色与结构重构后的专业级技术文章 。我以一位深耕嵌入式HMI系统设计十年以上的硬件/固件工程师身份&#xff0c;用更自然、更具现场感的语言重写全文—— 去掉所有AI腔调、模板化表达和教科书式罗列&#xff0c;代之以真实项目中的思考脉…

作者头像 李华
网站建设 2026/6/12 8:19:27

Live Avatar自动下载HuggingFace权重?网络问题应对策略

Live Avatar自动下载HuggingFace权重&#xff1f;网络问题应对策略 1. Live Avatar&#xff1a;阿里联合高校开源的数字人模型 Live Avatar是由阿里巴巴与国内顶尖高校联合研发并开源的实时数字人生成模型。它不是简单的图像动画工具&#xff0c;而是一套完整的端到端视频生成…

作者头像 李华
网站建设 2026/6/18 3:34:50

保姆级教程:从零开始用DeepSeek-R1-Distill-Qwen-1.5B搭建本地问答系统

保姆级教程&#xff1a;从零开始用DeepSeek-R1-Distill-Qwen-1.5B搭建本地问答系统 你是不是也遇到过这些情况&#xff1a; 想在自己的电脑上跑一个真正能思考的AI助手&#xff0c;但显卡只有4GB显存&#xff0c;GPT-3.5都卡顿&#xff1b; 想给树莓派或RK3588开发板装个数学小…

作者头像 李华
网站建设 2026/6/15 18:03:40

手把手教你用Ollama部署Google轻量级翻译模型translategemma

手把手教你用Ollama部署Google轻量级翻译模型translategemma 1. 引言 你有没有遇到过这样的场景&#xff1a;出差途中需要快速翻译一张菜单照片&#xff0c;却找不到信号稳定的在线翻译工具&#xff1b;或者在整理海外客户资料时&#xff0c;反复粘贴复制到网页版翻译器&…

作者头像 李华