在我们的40个节点集群(33个spark Executors/5个节点cassandra)上,使用spark-streaming我们每分钟在cassandra表中插入大约20,000个(除其他外)(with.saveTocassandra
)。我们得到的结果是:
如果我理解正确的话,执行器S3
、S14
和S19
75%的时间是空闲的,并阻止阶段完成······这样的资源浪费!和性能损失。
以下是SparkContext的conf选项:
.set("spark.cassandra.output.batch.size.rows", "5120")
.set("spark.cassandra.output.concurrent.writes", "100")
.set("spark.cassandra.output.batch.size.bytes", "100000")
.set("spark.cassandra.connection.keep_alive_ms","60000")
乍一看,我怀疑这是cassandra连接器的问题。我们目前正在做。SaveToCassandra,每分钟有30万条记录,还有更小的集群。
如果是的话。SavetoCassandra花了很长时间,你会看到很长的任务。你所看到的是无法解释的(?)任务之间的差距。
要找到这一点需要更多的信息。从工作选项卡开始--你看到有什么工作需要很长时间吗?往下钻,你看到什么了?
如何为版本设置以下属性: 本质上,我想设置它,以便应该有0个连接到我的远程dc的客户端,也应该有0个读/写。一切都应该是我正在磨合的DC本地的。 将设置为本地DC是否会达到相同的效果?
是否可以将Spark cassandra connector Java API与Spark 2.0+一起使用? 我看到spark-cassandra-connector-java2.11的最新版本是1.6.0-M1。 有人知道连接器的Java API的未来吗? 沙伊
我是Spark和Cassandra的新学员。我正面临着一个主要的性能问题,我在Spark中每5秒将来自Kafka的数据流化,然后使用JRI在R语言中对数据执行分析,最后将数据保存到Cassandra各自的列族中。将数据保存到Cassandra的持续时间(以毫秒为单位)随着输入请求的数量迅速增加[每个请求为200KB]。 火花代码:
谁能告诉我为什么火花连接器要花这么多时间插入?我在代码中做了什么错误吗?或者使用spark-cassandra连接器进行插入操作是否不可取?
我有一个关于这个连接器的问题。如果我的Spark集群和Cassandra集群不在同一个集群上,读取如何工作?Spark是否将整个Cassandra表带入自己的集群并将其重新排列到Spark分区中?
因此,这是我第一次使用JBehave,我试图在项目中创建第一个JBehave,但目前似乎测试没有执行这些步骤。最后,测试表明所有测试用例都通过了,没有任何问题,但实际上它们根本没有被执行。我在每个步骤方法中都设置了断点,而且我的调试器根本不会阻止我,更不用说这些步骤当前抛出的异常了。 和测试执行器: 你知道有什么问题吗?