我有一个csv文件需要使用hadoop mapreduce进行分析。我想知道hadoop是否逐行解析它?如果是,我想使用逗号拆分字符串来获取要分析的字段。或者有没有更好的方法来解析csv并将其输入到hadoop中?该文件为10GB,以逗号分隔。我想使用java和hadoop。下面的map()方法中Tex类型的"value"参数包含Map/Reduce解析的每一行数据吗?-这就是我最困惑的地方。
这是我的代码:
这是我的代码:
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
try {
String[] tokens = value.toString().split(",");
String crimeType = tokens[5].trim();
int year = Integer.parseInt(tokens[17].trim());
context.write(crimeType, year);
} catch (Exception e) {...}
}