【发布时间】:2014-08-09 13:38:06
【问题描述】:
我是新来的火花。我想对 CSV 记录中的特定数据执行一些操作。
我正在尝试读取 CSV 文件并将其转换为 RDD。我的进一步操作基于 CSV 文件中提供的标题。
(来自 cmets) 到目前为止,这是我的代码:
final JavaRDD<String> File = sc.textFile(Filename).cache();
final JavaRDD<String> lines = File.flatMap(new FlatMapFunction<String, String>() {
@Override public Iterable<String> call(String s) {
return Arrays.asList(EOL.split(s));
}
});
final String heading=lines.first().toString();
我可以像这样获取标题值。我想将此映射到 CSV 文件中的每条记录。
final String[] header=heading.split(" ");
我可以像这样获取标题值。我想将此映射到 CSV 文件中的每条记录。
在 java 中,我使用 CSVReader record.getColumnValue(Column header) 来获取特定值。我需要在这里做类似的事情。
【问题讨论】:
-
到目前为止你尝试过什么?你被困在哪里了? “Zend me da codez”不受欢迎。是事先知道 csv 结构还是需要从 headers 中发现?
-
我需要从标题中发现结构。
标签: scala apache-spark