小编Joh*_*rae的帖子

按键分组时Spark会耗尽内存

我试图使用本指南在EC2上使用Spark主机对常见爬网数据进行简单转换,我的代码如下所示:

package ccminer

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._

object ccminer {
  val english = "english|en|eng"
  val spanish = "es|esp|spa|spanish|espanol"
  val turkish = "turkish|tr|tur|turc"
  val greek = "greek|el|ell"
  val italian = "italian|it|ita|italien"
  val all = (english :: spanish :: turkish :: greek :: italian :: Nil).mkString("|")

  def langIndep(s: String) = s.toLowerCase().replaceAll(all, "*")

  def main(args: Array[String]): Unit = {
    if (args.length != 3) {
      System.err.println("Bad command line")
      System.exit(-1)
    }

    val cluster = "spark://???"
    val sc = new SparkContext(cluster, "Common Crawl Miner", …
Run Code Online (Sandbox Code Playgroud)

scala amazon-ec2 apache-spark

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

使用COUNT和ORDER的SPARQL查询返回奇数结果

以下查询计算商店中的所有三元组

SELECT count(*) where { ?s ?p <http://dbpedia.org/resource/Cat> }
Run Code Online (Sandbox Code Playgroud)

并返回预期的结果

http://dbpedia.org/sparql?default-graph-uri=http://dbpedia.org&query=select+count(*)+{+%3Fs+%3Fp+%3Chttp://dbpedia.org/resource/Cat% 3E +} +&调试= ON&超时=&格式= text/html的&保存=显示&FNAME =

但是,当我第一次尝试它时,我不小心留下了ORDER BY语句,例如,

select count(*) { ?s ?p <http://dbpedia.org/resource/Cat> } order by ?s
Run Code Online (Sandbox Code Playgroud)

然后我得到一个很长的结果列表

http://dbpedia.org/sparql?default-graph-uri=http://dbpedia.org&query=select+count(*)+{+%3Fs+%3Fp+%3Chttp://dbpedia.org/resource/Cat% 3E +} +顺序通过+ +%3FS&调试= ON&超时=&格式= text/html的&保存=显示&FNAME =

任何人都可以解释为什么会出现这种结果及其含义?它可能是Virtuoso SPARQL实现的错误吗?

rdf semantic-web sparql

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

扩展Scala集合

我想派生一个Scala内置集合的版本,该集合扩展了特定泛型类型的功能,例如,

import scala.collection.immutable._
class Tuple2Set[T1,T2] extends HashSet[Tuple2[T1,T2]] {
 def left = map ( _._1 )
 def right = map ( _._2 )
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用它与以下测试

  new Tuple2Set[String,String]() + (("x","y")) left
Run Code Online (Sandbox Code Playgroud)

我得到以下编译错误

error: value left is not a member of scala.collection.immutable.HashSet[(String, String)]
Run Code Online (Sandbox Code Playgroud)

如何更改课程以使其有效?

scala scala-collections

3
推荐指数
1
解决办法
1833
查看次数

将Arc <RwLock>转换为&mut

我试图在一个可以通过引用变异的特征中获得一个值.问题是String值非常大,可能被许多线程访问,所以我的解决方案看起来像这样:

trait MyTrait {
    fn name<'a>(&'a mut self) -> &'a mut String;
}

struct SimpleImpl {
    name: String
}

impl MyTrait for SimpleImpl {
    fn name<'a>(&'a mut self) -> &'a mut String {
        &mut self.name
    }
}

use std::sync::{Arc,RwLock};

struct ParallelImpl {
    name: Arc<RwLock<String>>
}

impl MyTrait for ParallelImpl {
    fn name<'a>(&'a mut self) -> &'a mut String {
        self.name.get_mut().unwrap()
    }
}

fn main() {
    let mut a = SimpleImpl { name: String::from("simple") };
    let mut b = …
Run Code Online (Sandbox Code Playgroud)

rust

0
推荐指数
1
解决办法
711
查看次数