Scala 转换CassandraTableScanRDD org.apache.spark.rdd.rdd
我有以下情况。我有一个很大的Cassandra表(有很多列),我想用Spark处理它。我只想将选定的列加载到Spark(在Cassandra服务器本身上应用选择和筛选) 上面的语句给出了一个CassandraTableScanRDD,但如何将其转换为DataSet/DataFrameScala 转换CassandraTableScanRDD org.apache.spark.rdd.rdd,scala,apache-spark,dataframe,cassandra,rdd,Scala,Apache Spark,Dataframe,Cassandra,Rdd,我有以下情况。我有一个很大的Cassandra表(有很多列),我想用Spark处理它。我只想将选定的列加载到Spark(在Cassandra服务器本身上应用选择和筛选) 上面的语句给出了一个CassandraTableScanRDD,但如何将其转换为DataSet/DataFrame 是否有其他方法可以对列进行服务器端筛选并获取数据帧?在DataStax Spark Cassandra Connector中,您可以将Cassandra数据读取为数据集,并按如下方式修剪服务器端的列: val df
是否有其他方法可以对列进行服务器端筛选并获取数据帧?在DataStax Spark Cassandra Connector中,您可以将Cassandra数据读取为
数据集,并按如下方式修剪服务器端的列:
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")
请注意,我在读取后执行的选择
操作是使用Catalyst优化推送到服务器端的。有关更多信息,请参阅此
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")