Apache Spark顺序处理文本文件

时间:2015-03-26 19:14:07

标签: java mapreduce apache-spark

我有一个巨大的文本文件,我需要分成N个字符的带状疱疹。我没有问题,按顺序方式执行,但是当使用Spark并行化我的代码时,我遇到了困难。

主要的问题是,正如我所理解的那样,DFS将文本分成块并将其推入不同的节点,而w-shinging算法必须将文本作为一系列单词处理,并且算法中肯定会有一个点循环,它必须处理存储在不同节点中的单词。

非并行算法:

   StringBuffer msgsb = new StringBuffer("");
   int wordsPerShingle = 8;
   String words[] = text.split(" ");
   int total = words.length - wordsPerShingle  + 1; 
   msgs = new String[total];
   for(int i = 0; i < total; i++){
       for(int j = i; j < wordsPerShingle + i - 1; j++) {
          msgsb.append(words[j]+ " "); 
       } 
       msgsb.append(words[wordsPerShingle + i - 1]); 
       msgs[i] = new String(msgsb);
       msgsb = new StringBuffer();
    }
    return msgs;

问题是:是否可以使用Apache Spark进行处理?

0 个答案:

没有答案