需求
源数据
{“date”:“2020-02-03”.“city”:“beijing”}
目标数据
2020/02/03,beijing
Mapper部分
package weatherdata3;
import net.sf.json.JSONObject;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import java.io.IOException;
public class WeatherDataMap3_4 extends Mapper<LongWritable, Text,Text, NullWritable> {
Text k = new Text();
//{"date":"2020-02-03","city":"beijing"}
//2020/02/03,beijing
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
String line = value.toString();
line=line.replace("-","/");
JSONObject obj = JSONObject.fromObject(line);
String[] str = new String[2];
str[0] = obj.getString("date");
str[1] = obj.getString("city");
String s = new String();
for(int i = 0;i<str.length;i++){
s+=str[i]+",";
}
s=s.substring(0,s.length()-1);//方法一
// stu=stu.substring(0,stu.lastIndexOf(","));//方法二
k.set(s);
context.write(k,NullWritable.get());
}
}
这个博客就是在上一个博客的基础上加了一个JSON格式转换字符串