java - 如何为每个 RDD Spark Streaming

标签 java foreach apache-spark hashmap

我有一个 CSV 文件 queries.txt,我正在读取这样的文件:

JavaRDD<String> distFile = sc.textFile("queries.txt");

queries.txt 文件的架构是: Uniq_Id,,,...csv中的一些数值...

我需要为每一行创建一个 HashMap,其键是 queries.txt 文件的第一列 (Uniq_Id),值是 HashMap 文件中的其他列。

例子。 (这不是真实的,也不是一个有效的例子,我只是想传达本质)

HashMap totalMap = new HashMap<Integer, NumericValues>();

for(int i=0;i<distFile.size();i++)
{
   String line = distFile[i].getColumns();
   for(int y=0;y<line.size();y++)
   {
      totalMap.put(line.getFirstColumn,line.getRemainingColumns);
   }
}

这里的 NumericValues 是我的自定义类,它将变量映射到文件中的列。

任何其他建议都会有所帮助。

最佳答案

我想这就是您要查找的内容,但此示例本身并未解析 CSV 行。

  JavaRDD<String> distFile = sc.textFile("queries.txt");
  HashMap totalMap = new HashMap<Integer, NumericValues>();
  distFile.foreach(new VoidFunction<String>(){ 
          public void call(String line) {
              totalMap.put(yourCSVParser(line)); //this is dummy function call 
    }});

关于java - 如何为每个 RDD Spark Streaming,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32198860/

相关文章:

c# - Linq FirstOrDefault 每次迭代都会评估谓词?

java - 在 iText PDF 文档中安装 JTable

java - 错误 : input directory 'Files' does not exist

c# - 如何 "reset"C# SqlCommand 对象,以便我可以在循环中重新使用它

PHP foreach 不工作

scala - 带点 Spark 的列名

apache-spark - 如何将 org.apache.spark.rdd.RDD[Array[Double]] 转换为 Spark MLlib 所需的 Array[Double]

apache-spark - 如何使用Spark上下文访问Web URL

java - Android - 插入日历事件

java - 比较 Hashmap 和 List list = new Arraylist()