小编Dan*_*man的帖子

在aws中终止一个火花步骤

我想在EMR火花星团上设置一系列火花步骤,如果花费太长时间,则终止当前步骤.但是,当我进入主节点并运行hadoop jobs -list时,主节点似乎认为没有正在运行的作业.我不想终止群集,因为这样做会迫使我购买我正在运行的任何群集的全新时间.任何人都可以帮我终止EMR的火花步骤而不终止整个群集吗?

hadoop amazon-web-services emr apache-spark

9
推荐指数
1
解决办法
6384
查看次数

减少潜在的空RDD

所以我遇到了一个问题,我在RDD上使用的过滤器可能会创建一个空的RDD.我觉得为了测试空虚而做一个count()会非常昂贵,并且想知道是否有更高效的方法来处理这种情况.

以下是此问题的示例:

    val b:RDD[String] = sc.parallelize(Seq("a","ab","abc"))


    println(b.filter(a => !a.contains("a")).reduce(_+_))
Run Code Online (Sandbox Code Playgroud)

会给出结果

empty collection
java.lang.UnsupportedOperationException: empty collection
    at org.apache.spark.rdd.RDD$$anonfun$reduce$1$$anonfun$apply$36.apply(RDD.scala:1005)
    at org.apache.spark.rdd.RDD$$anonfun$reduce$1$$anonfun$apply$36.apply(RDD.scala:1005)
    at scala.Option.getOrElse(Option.scala:120)
    at org.apache.spark.rdd.RDD$$anonfun$reduce$1.apply(RDD.scala:1005)
    at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:147)
    at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:108)
    at org.apache.spark.rdd.RDD.withScope(RDD.scala:306)
    at org.apache.spark.rdd.RDD.reduce(RDD.scala:985)
Run Code Online (Sandbox Code Playgroud)

有没有人对如何解决这个边缘案件有任何建议?

scala apache-spark

5
推荐指数
1
解决办法
2333
查看次数

coreNLP显着减缓了火花工作

我试图通过将文档剪切成句子来进行分类,然后将句子中的每个单词进行逻辑回归以进行逻辑回归.但是,我发现stanford的注释类在我的火花工作中造成了严重的瓶颈(它需要20分钟才能处理500k文件)

这是我目前用于句子解析和分类的代码

句子解析:

def prepSentences(text: String): List[CoreMap] = {
    val mod = text.replace("Sr.", "Sr") // deals with an edge case
    val doc = new Annotation(mod)
    pipeHolder.get.annotate(doc)
    val sentences = doc.get(classOf[SentencesAnnotation]).toList
    sentences
}
Run Code Online (Sandbox Code Playgroud)

然后,我将采用每个coremap并按如下方式处理引理

def coreMapToLemmas(map:CoreMap):Seq[String] = {
      map.get(classOf[TokensAnnotation]).par.foldLeft(Seq[String]())(
    (a, b) => {
        val lemma = b.get(classOf[LemmaAnnotation])
        if (!(stopWords.contains(b.lemma().toLowerCase) || puncWords.contains(b.originalText())))
      a :+ lemma.toLowerCase
    else a
  }
)
}
Run Code Online (Sandbox Code Playgroud)

也许有一个类只涉及一些处理?

scala machine-learning stanford-nlp apache-spark

2
推荐指数
1
解决办法
593
查看次数