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
Apache spark 在DSE4.8 spark流媒体中使用复合密钥_Apache Spark_Datastax Enterprise_Datastax Startup - Fatal编程技术网

Apache spark 在DSE4.8 spark流媒体中使用复合密钥

Apache spark 在DSE4.8 spark流媒体中使用复合密钥,apache-spark,datastax-enterprise,datastax-startup,Apache Spark,Datastax Enterprise,Datastax Startup,任何人都可以使用spark sql中的复合主键在java中共享示例,以将数据保存在Cassandra中。有了CQL,我可以很容易地做到。但我所做的是在一个spark工作中,从Kafka流中传输时间序列数据,并将其作为原始数据保存到cassandra。然后使用dataframe,我可以将此表与相关表连接起来,并使用业务规则对数据进行细化,然后将数据存储在细化的数据表中。我能够解决问题的第一部分。也就是说,使用spark sql使用复合主键将数据保存到Cassandra表中。 基本上,如果我们已经创

任何人都可以使用spark sql中的复合主键在java中共享示例,以将数据保存在Cassandra中。有了CQL,我可以很容易地做到。但我所做的是在一个spark工作中,从Kafka流中传输时间序列数据,并将其作为原始数据保存到cassandra。然后使用dataframe,我可以将此表与相关表连接起来,并使用业务规则对数据进行细化,然后将数据存储在细化的数据表中。

我能够解决问题的第一部分。也就是说,使用spark sql使用复合主键将数据保存到Cassandra表中。 基本上,如果我们已经创建了一个具有复合主键的表, 这很容易做到。键是否为复合键没有区别。 我使用cassandra中的CQL创建了一个主键为imei和日期与时间的表。 接下来的代码对我来说非常有效

rowData.foreachRDD(rdd -> {
             if(rdd.count()>0){
             SQLContext sqlContext = SQLContext.getOrCreate(sc);
             Map<String, String> options = new HashMap<String, String>();
             options.put("table","data");
             options.put("keyspace","newavlview");

                org.apache.spark.sql.DataFrame   wordsDataFrame = sqlContext.createDataFrame(rdd, XMLRowBean.class);

                wordsDataFrame.
                write().format("org.apache.spark.sql.cassandra")
                .options(options).mode(SaveMode.Append)
                .save();


             }
rowData.foreachRDD(rdd->{
如果(rdd.count()>0){
SQLContext-SQLContext=SQLContext.getOrCreate(sc);
Map options=newhashmap();
看跌期权(“表格”、“数据”);
看跌期权(“keyspace”、“newavlview”);
org.apache.spark.sql.DataFrame wordsDataFrame=sqlContext.createDataFrame(rdd,XMLRowBean.class);
字框。
write().format(“org.apache.spark.sql.cassandra”)
.options(options).mode(SaveMode.Append)
.save();
}