Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark Cassandra连接器是否正在使用的WriteConf_Apache Spark_Cassandra_Batch Processing_Spark Cassandra Connector - Fatal编程技术网

Apache spark Spark Cassandra连接器是否正在使用的WriteConf

Apache spark Spark Cassandra连接器是否正在使用的WriteConf,apache-spark,cassandra,batch-processing,spark-cassandra-connector,Apache Spark,Cassandra,Batch Processing,Spark Cassandra Connector,我使用的是Spark版本1.6.2,Spark Cassandra连接器1.6.0,Cassandra驱动核心3.0.3 我正在写一个简单的Spark作业,其中我试图在Cassandra中的表中插入一些行。使用的代码段是: val sparkConf = (new SparkConf(true).set("spark.cassandra.connection.host", "<Cassandra IP>") .set("spark.cassandra.auth.username",

我使用的是Spark版本1.6.2,Spark Cassandra连接器1.6.0,Cassandra驱动核心3.0.3

我正在写一个简单的Spark作业,其中我试图在Cassandra中的表中插入一些行。使用的代码段是:

val sparkConf = (new SparkConf(true).set("spark.cassandra.connection.host", "<Cassandra IP>")
.set("spark.cassandra.auth.username", "test")
.set("spark.cassandra.auth.password", "test")
.set("spark.cassandra.output.batch.size.rows", "1"))

val sc = new SparkContext(sparkConf)
val cassandraSQLContext = new CassandraSQLContext(sc)
cassandraSQLContext.setKeyspace("test")
val query = "select * from test"
val dataRDD = cassandraSQLContext.cassandraSql(query).rdd

val addRowList = (ListBuffer(
Test(111, 10, 100000, "{'test':'0','test1':'1','others':'2'}"),
Test(111, 20, 200000, "{'test':'0','test1':'1','others':'2'}")
))

val insertRowRDD = sc.parallelize(addRowList)
insertRowRDD.saveToCassandra("test", "test")
val sparkConf=(新的sparkConf(true).set(“spark.cassandra.connection.host”,“”)
.set(“spark.cassandra.auth.username”、“test”)
.set(“spark.cassandra.auth.password”、“test”)
.set(“spark.cassandra.output.batch.size.rows”,“1”))
val sc=新的SparkContext(sparkConf)
val cassandraSQLContext=新的cassandraSQLContext(sc)
cassandraSQLContext.setKeyspace(“测试”)
val query=“从测试中选择*
val dataRDD=cassandraSQLContext.cassandraSql(query).rdd
val addRowList=(ListBuffer(
测试(111,10,100000,“{'Test':'0','test1':'1','others':'2'}”),
测试(111,20,200000,“{'Test':'0','test1':'1','others':'2'}”)
))
val insertRowRDD=sc.parallelize(addRowList)
insertRowRDD.saveToCassandra(“测试”、“测试”)
Test()是一个case类

现在,在创建sparkConf对象时,我已经传递了WriteConf参数output.batch.size.rows。我希望这段代码在Cassandra中一次可以写一行。我没有得到任何方法可以交叉验证在cassandra中编写批处理的配置不是默认配置,而是在代码段中传递的配置

我在cassandra cassandra.log、system.log和debug.log中找不到任何内容


那么,有谁能帮助我交叉验证Spark Cassandra Connector用于在Cassandra中写入批处理的WriteConf的方法吗?

要验证设置是否正确,可以做两件事

  • 首先,您可以调用创建WriteConf的方法

    WriteConf.fromSparkConf(sparkConf)
    
    可以检查结果对象,以确保所有值都是您想要的。这是默认的参数

  • 您可以显式地将
    WriteConf
    传递给
    saveToCassandraMethod

    saveAsCassandraTable(keyspace, table, writeConf = WriteConf(...))
    

  • 不确定如何使用
    WriteConf
    调用
    savetopassandratable
    ,看起来它覆盖了
    SparkConf
    中的设置。从Spark继承其余参数时,如何设置特定参数?WriteConf.fromSparkConf(sparkConf).copy(parameterToChange=newValue)哈哈!case class
    copy
    刚刚添加到我的Scala词典中!谢谢:)@RussS我正在尝试使用rdd设置c*表中的行级别ttl。我在spark conf中设置所有连接信息,并在writeconf中传递ttl选项,如下所示:rdd.saveToCassandra(keyspace,table,writeconf=writeconf(ttl=TTLOption.perRow(ttlColumn)),但该配置不支持cassandra集群配置。知道我如何以writeconf的形式发送这两个信息,或者如何在spark conf中设置ttl并将spark conf发送到rdd.saveTocassandra吗。谢谢我不确定我是否理解,你能问一个新的SO问题,并请包括你的代码示例吗