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

ttcibm8c  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(310)

我有一个基于scala的应用程序,我需要把它连接到cassandra。我发现datastax企业驱动程序在这方面非常有用,它们有很多很酷的特性,比如cassandra的内置负载平衡,这对我来说非常重要。不幸的是,scala没有任何本机dse驱动程序。我知道我们可以使用dsejava驱动程序,但是在这种情况下,我们失去了很多scala很酷的特性。我还发现了由datastax构建的spark cassandra连接器,但是这个内置的负载平衡对我来说非常重要,我不知道spark cassandra连接器是否支持它。
在使用dse java驱动程序的基于java的应用程序中,我需要在配置文件中配置内置的负载平衡器,如下所示:

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

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

gopyfrb3

gopyfrb31#

在scala中,您可以只使用java驱动程序—开箱即用—您不仅支持基本scala类型,还可以通过将java驱动程序scala extras导入项目(作为源代码)来解决此问题—它至少适用于driver 3.x。另一个问题是支持 Option ,但这可以通过java的可选驱动程序来实现,该驱动程序在java驱动程序中有一个额外的编解码器。
关于驱动程序的定制,这一部分应该与scala一起工作而不做任何更改。关于spark中默认策略的支持,spark-cassandra连接器有一个单独的策略,这有一个特殊的原因,它接近java的默认策略,但是有spark的细节。

相关问题