首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

hadoop 地图reduce 中java用gson类库解析json

2013-11-08 
hadoop mapreduce 中java用gson类库解析json废话不说,代码如下:import java.io.IOExceptionimport java.l

hadoop mapreduce 中java用gson类库解析json
废话不说,代码如下:

import java.io.IOException;import java.lang.reflect.Type;import java.util.Iterator;/*import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;*/import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import com.google.gson.Gson;   import com.google.gson.reflect.TypeToken;   public class ParseLogMapper extends Mapper<LongWritable, Text, Text, Text> {@Overridepublic void map(LongWritable key, Text value, Context context)throws IOException, InterruptedException {try{String json;String line = value.toString();String[] data = line.split("\\t");LogColumns logColumns = new LogColumns();logColumns.reqTime = data[0];logColumns.reqIp = data[1];json = data[2];Type type = new TypeToken<LogJson>() {               }.getType();               Gson gson = new Gson();               LogJson logJson = gson.fromJson(json, type);               logColumns.devMac = logJson.getMac();            logColumns.devType = logJson.getDevice();            logColumns.devVersion = logJson.getVersion();            logColumns.report = "download";            //System.out.println(b.getRows());               //System.out.println(logJson.getAppList().size());              Iterator<AppInfo> i=logJson.getAppList().iterator();                        while(i.hasNext()){            AppInfo appInfo = i.next();            logColumns.appName = appInfo.getkTitle();                       logColumns.appid = appInfo.getkAppID();            logColumns.actionTime = appInfo.getkDownloadDate();            context.write(new Text(logColumns.toString()), new Text());                        }            }catch(Exception e){}}}

附件是gson类库。

热点排行