小编pac*_*man的帖子

在独立Spark上连接到远程主站

我通过以下步骤在远程服务器上以独立模式启动Spark:

  • cp spark-env.sh.template spark-env.sh
  • 附加到 spark-env.sh SPARK_MASTER_HOST=IP_OF_MY_REMOTE_SERVER
  • 并为独立模式运行下一个命令: sbin/start-master.sh sbin/start-slave.sh spark://IP_OF_MY_REMOTE_SERVER:7077

我尝试连接到远程主控:

val spark = SparkSession.builder()
  .appName("SparkSample")
  .master("spark://IP_OF_MY_REMOTE_SERVER:7077")
  .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ERROR SparkContext: Error initializing SparkContext.
java.net.BindException: Cannot assign requested address: Service 'sparkDriver' failed after 16 retries!
Run Code Online (Sandbox Code Playgroud)

和警告:

    WARN Utils: Service 'sparkMaster' could not bind on port 7077. Attempting port 7078.
.....
    WARN Utils: Service 'sparkMaster' could not bind on port 7092. Attempting port 7092.
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

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

Akka使用了多少个线程?

据我所知,Akka使用多个线程为ActorSystem中的所有actor提供服务.我想以编程方式检查Akka使用的线程数.但我不想使用分析器或jConsole.

scala akka

7
推荐指数
1
解决办法
1252
查看次数

ConcurrentHashMap中String intern方法的重复数据删除

我看了一篇来自JavaDays的代码,作者说这种方法有概率非常有效,可以将类似String的字符串存储到String实习方法

 public class CHMDeduplicator<T> {
    private final int prob;
    private final Map<T, T> map;

    public CHMDeduplicator(double prob) {
        this.prob = (int) (Integer.MIN_VALUE + prob * (1L << 32));
        this.map = new ConcurrentHashMap<>();
    }

    public T dedup(T t) {
        if (ThreadLocalRandom.current().nextInt() > prob) {
            return t;
        }
        T exist = map.putIfAbsent(t, t);
        return (exist == null) ? t : exist;
    }
}
Run Code Online (Sandbox Code Playgroud)

请解释一下,这一行中概率的影响是什么:

if (ThreadLocalRandom.current().nextInt() > prob) return t;
Run Code Online (Sandbox Code Playgroud)

这是Java Days的原始演示文稿https://shipilev.net/talks/jpoint-April2015-string-catechism.pdf(56th slide)

java string dictionary duplicates concurrenthashmap

6
推荐指数
1
解决办法
247
查看次数

Scala 从变量中插入字符串

在这种情况下,字符串插值工作正常:

val name = "Bill"
val result = s"My Name is ${name}"
Run Code Online (Sandbox Code Playgroud)

当我将它引入变量时,它没有获得插值:

val name = "Bill"
val greeting = "My Name is ${name}"
val result = s"${greeting}"
Run Code Online (Sandbox Code Playgroud)

直接包装greeting不是合适的解决方案,我必须像普通字符串一样处理问候语。

scala string-interpolation

6
推荐指数
1
解决办法
5437
查看次数

Spark Thrift 服务器与 Apache Thirft 的关系

在 quora上读过一篇文章,它告诉我们Spark Thrift服务器与Apache Thrift相关,Apache Thrift是一种二进制通信协议。Spark Thrift 服务器是Hive 的接口,但是Spark Thrift 服务器是如何使用Apache Thrift 通过二进制协议/rpc 与Hive 通信的呢?

apache-spark

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

Akka Streams中“平衡”和“广播”之间的区别

我对中的扇出策略有些困惑Akka streams,我读到 Broadcast–给定一个输入元素发射到每个输出,Balance(1个输入,N个输出),而给定一个输入元素发射到其输出之一的(1个输入,N个输出)端口。

你能解释一下我吗:

  1. 如何平衡多个消费者?
  2. 短语“输出到其输出端口之一”的含义
  3. 下游端口是否相同?
  4. “平衡”代表输入流复制到几个输出分区中吗?
  5. “平衡使图表可以拆分,并复制下游订户的多个实例以处理该卷”是什么意思?

scala akka akka-stream

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

为什么我们需要来自 Scala 的 ParHashMap 而有来自 Java 的 ConcurrentHashMap

我考虑了两个具有相似概念的集合 -ParHashMap来自 Scala 和来自 Java 的 ConcurrentHashMap。它们都具有相同的时间复杂度,并且都是线程安全和无锁的,但它们仅基于不同的概念——相应的特里和哈希表。这个推理导致了一个问题:为什么我们需要来自 Scala 的 ParHashMap 而有来自 Java 的 ConcurrentHashMap?

java scala trie concurrenthashmap data-structures

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