Cassandraにデータを保存するために、誰でもJavaの例をspark sqlの複合主キーと共有できますか。CQLを使えば簡単にできます。しかし、私がやっているのは、Kafka ストリームから時系列データをストリーミングし、生データとして cassandra に保存する Spark ジョブ内です。次に、データフレームを使用して、このテーブルを関連するテーブルと結合し、ビジネスルールを使用してデータの調整を実行し、調整されたデータテーブルにデータを保存できます。
質問する
156 次
1 に答える
0
質問の最初の部分を解決できました。つまり、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();
}
于 2016-06-14T03:30:57.723 に答える