【发布时间】:2018-08-05 20:14:31
【问题描述】:
我有一个带有 3 个节点集群的服务器,总核心数为 72
Node 1 - cassandra + spark master + 1 spark worker
Node 2 - cassandra + 1 spark worker
Node 2 - cassandra + 1 spark worker
但每个 spark worker 只需要两个执行器
SparkSession spark = SparkSession.builder().appName("CassandraSparkJavaDemo")
.config("spark.cassandra.connection.host", "ipaddress")
.config("spark.cassandra.connection.port", "9042")
.config("spark.driver.allowMultipleContexts", true)
.config("spark.cores.max", "3")
.master("spark://ipaddress:7077").getOrCreate();
使用 RDD 读取和聚合 5700 万条记录需要 1 个多小时(我看到每个 spark worker 只需要两个执行器)
- 如何使用 spark cassandre 连接器 java api/任何 spark conf 更改来增加执行器的数量?
- 还有其他方法可以提高性能吗?
【问题讨论】:
-
我猜你是从 cassandra 数据源构造 RDD。您能否提供有关如何执行此操作的代码?只是
val data = sc.cassandraTable(“my_keyspace”, “my_table”)吗?你用这些数据做什么?你如何聚合?
标签: apache-spark cassandra datastax-java-driver spark-cassandra-connector