簡體   English   中英

轉換 CassandraTableScanRDD org.apache.spark.rdd.RDD

[英]Converting CassandraTableScanRDD org.apache.spark.rdd.RDD

我有以下情況。 我有一個很大的 Cassandra 表(有很多列),我想用 Spark 處理它。 我只想將選定的列加載到 Spark(在 Cassandra 服務器本身上應用選擇和過濾)

 val eptable = 
 sc.cassandraTable("test","devices").select("device_ccompany","device_model","devi
 ce_type")

上面的語句給出了一個 CassandraTableScanRDD 但我如何將它轉換為 DataSet/DataFrame ?

我還有其他方法可以對列進行服務器端過濾並獲取數據幀嗎?

在 DataStax Spark Cassandra Connector 中,您可以將 Cassandra 數據作為Dataset讀取,並在服務器端修剪列,如下所示:

val df = spark
 .read
 .format("org.apache.spark.sql.cassandra")
 .options(Map( "table" -> "devices", "keyspace" -> "test" ))
 .load()

val dfWithColumnPruned = df
 .select("device_ccompany","device_model","device_type")

請注意,我在閱讀后所做的selection操作是使用 Catalyst 優化推送到服務器端的。 有關更多信息,請參閱此文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM