亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我們不在 Spark-Cassandra-Connector 中定義一個

為什么我們不在 Spark-Cassandra-Connector 中定義一個

瀟湘沐 2022-11-30 16:44:37
我看到了 spark-cassandra-connector 的 github repo,我沒有發現 ReaderBuilder 實現了它們,但是 WriterBuilder 實現了,任何人都可以幫助我,因為我想使用 CassandraConnector 引用從 cassandra DB 讀取數據。我想在同一個 SparkContext 中連接兩個 cassandra 集群,我想從它們兩個讀取數據,所以我需要一個 ReaderBuilder 來從我的第二個 cassandra 集群讀取數據,我在這里也使用 java 語言。Github 回購鏈接:https ://github.com/datastax/spark-cassandra-connector/blob/master/spark-cassandra-connector/src/main/java/com/datastax/spark/connector/japi/RDDAndDStreamCommonJavaFunctions.javaCassandraConnector eventsConnector = CassandraConnector.apply(sc.getConf().set("spark.cassandra.connection.host", "192.168.36.234"));
查看完整描述

1 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

我的第一個建議是不要在 Java 中使用 RDD。Java 中的 RDD 比 Scala 中的要困難得多,它也是舊的 api。我建議改用 DataFrames。這些提供了不同數據源之間更清晰的接口以及自動優化和其他好處。


現在,如果您不能使用 DataFrames,您只需制作 CassandraJavaRDD,然后使用“withConnector”或“withReadConf”來更改讀取配置。


https://github.com/datastax/spark-cassandra-connector/blob/master/spark-cassandra-connector/src/main/java/com/datastax/spark/connector/japi/rdd/CassandraJavaRDD.java#L123-L129


就像是


val cluster2 = CassandraConnector eventsConnector = 

  CassandraConnector.apply(

    sc.getConf()

      .set("spark.cassandra.connection.host", "192.168.36.234"));


  javaFunctions(sc).cassandraTable(ks, "test_table").withConnector(cluster2).collect()

}

不需要構建器,因為 RDD 本身有一個流暢的 API。由于寫入是在調用結束時立即發生的,因此它需要一個構建器。


查看完整回答
反對 回復 2022-11-30
  • 1 回答
  • 0 關注
  • 84 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號