火花卡桑德拉调整

spark Cassandra tuning

如何在spark scala代码中设置以下Cassandra写入参数 版本 - DataStax Spark Cassandra 连接器 1.6.3.

Spark 版本 - 1.6.2

spark.cassandra.output.batch.size.rows

spark.cassandra.output.concurrent.writes

spark.cassandra.output.batch.size.bytes

spark.cassandra.output.batch.grouping.key

谢谢, 钱德拉

在 DataStax Spark Cassandra Connector 1.6.X 中,您可以将这些参数作为 SparkConf 的一部分传递。

val conf = new SparkConf(true)
    .set("spark.cassandra.connection.host", "192.168.123.10")
    .set("spark.cassandra.auth.username", "cassandra")            
    .set("spark.cassandra.auth.password", "cassandra")
    .set("spark.cassandra.output.batch.size.rows", "100")            
    .set("spark.cassandra.output.concurrent.writes", "100")
    .set("spark.cassandra.output.batch.size.bytes", "100")            
    .set("spark.cassandra.output.batch.grouping.key", "partition")

val sc = new SparkContext("spark://192.168.123.10:7077", "test", conf)

您可以参考此readme了解更多信息。

最灵活的方法是将那些变量添加到文件中,例如spark.conf:

spark.cassandra.output.concurrent.writes 10

等... 然后在您的应用程序中创建您的 spark 上下文,例如:

val conf = new SparkConf()
val sc = new SparkContext(conf)

最后,当您提交您的应用程序时,您可以指定您的属性文件:

spark-submit --properties-file spark.conf ...

Spark 将在创建 spark 上下文时自动从 spark.conf 读取您的配置 这样,您就可以修改 spark.conf 上的属性,而无需每次都重新编译代码。