Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.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
Scala 转换CassandraTableScanRDD org.apache.spark.rdd.rdd_Scala_Apache Spark_Dataframe_Cassandra_Rdd - Fatal编程技术网

Scala 转换CassandraTableScanRDD org.apache.spark.rdd.rdd

Scala 转换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

我有以下情况。我有一个很大的Cassandra表(有很多列),我想用Spark处理它。我只想将选定的列加载到Spark(在Cassandra服务器本身上应用选择和筛选)

上面的语句给出了一个CassandraTableScanRDD,但如何将其转换为DataSet/DataFrame


是否有其他方法可以对列进行服务器端筛选并获取数据帧?

在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")