我有一个 csv 文件要使用 hadoop mapreduce 进行分析。我想知道hadoop是否会逐行解析它?如果是,我想使用逗号分隔的字符串来获取要分析的字段。还是有其他更好的解析csv并将其输入hadoop的方法?该文件为 10 GB,以逗号分隔。我想将 java 与 hadoop 一起使用。下面 map() 方法中 Tex 类型的参数“值”包含 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) {...}
}