声明:整个groovy分类下的文章记录都是在本公司云平台搭建的大数据处理框架下解决问题的总结!!
最近在搞hadoop和mapreduce处理大数据,在用groovy脚本编写分析(需要编写DataTypeConfig.xml、ReportConfig.xml、.groovy脚本)时遇到一个问题:就是数据格式为txt,非avro数据;那要如何读取呢?其实很简单,在几个地方设置一下就可以了。具体说明如下:
DataTypeConfig.xml中:
<type>txtline</type>
.groovy脚本中:
public class xxxxxxxx extends ScriptOper {
public void preProc_xxxx (DataRecord record, List<ScriptMap> lstMap) {
ScriptMap map = ScriptMap.getScriptMap();
Date rptDate = getReportDate();
String date = rptDate.format("yyyy-MM-dd");
String recordValue = record.toString();
//set dimension fields
map.put("date", date);
//set target
if((recordValue.contains("download") ) {
map.put("a1", 1L);
} else if(recordValue.contains("/d2")) {
map.put("a2", 1L);
} else if(recordValue.contains("/m/d/ f=")) {
map.put("a3", 1L);
}
println "----------------------One Done----------------------";
lstMap.add(map);
}
}