spark cassandra连接器是否支持内置负载平衡



我有一个基于Scala的应用程序,我需要将它连接到Cassandra。我发现DataStax Enterprise驱动程序在这方面非常有用,它们有很多很酷的功能,比如Cassandra的内置负载平衡,这对我来说非常重要。不幸的是,Scala没有任何本地DSE驱动程序。我知道我们可以使用DSE Java驱动程序,但在这种情况下,我们失去了很多Scala很酷的功能。我还发现了Datastax构建的spark-cassandra连接器,但这种内置的负载平衡对我来说非常重要,我不知道spark-cashandra连接器是否支持它。

在使用DSE Java驱动程序的基于Java的应用程序中,我需要在配置文件中配置内置的负载均衡器,如下所示:

datastax-java-driver.basic.load-balancing-policy {
class = DefaultLoadBalancingPolicy
}

我不知道在Scala中使用spark-cassandra连接器的等效方法,甚至不确定这是否可能。如有任何帮助,我们将不胜感激。谢谢

在Scala中,您可以只使用Java驱动程序-开箱即用,您不仅支持基本的Scala类型,但您可以通过将Java驱动程序Scala extra导入到您的项目中(作为源代码(来解决这个问题-它至少适用于驱动程序3.x。另一个问题是对Option的支持,但这可以通过Java的可选程序来完成,该程序在Java驱动程序中有一个额外的编解码器。

关于驱动程序的定制,这一部分应该在不做任何更改的情况下使用Scala。关于Spark中默认策略的支持,Spark Cassandra连接器有一个单独的策略,原因很特殊——它接近Java的默认策略,但有Spark的具体说明。

最新更新