如何使用DataStax Spark-Cassandra连接器从Cassandra表中读取特定列



我正在使用Spark-Cassandra-Connector_2.11(2.0.5版)将Cassandra的数据加载到Spark群集中。我正在使用读取API来加载数据如下:

SparkUtil.initSpark()
         .read
         .format("org.apache.spark.sql.cassandra")
         .options(Map("table"-><table_name>, "keyspace"-><keyspace>))
         .load()

但是,在其中一种用例中,我只想阅读Cassandra的特定列。如何使用读取API进行相同的操作?

SparkUtil.initSpark()
         .read
         .format("org.apache.spark.sql.cassandra")
         .options(Map("table"-><table_name>, "keyspace"-><keyspace>))
         .load()
         .select("column_name")

使用select ..您也可以使用案例类

其他方法是使用以下方法而不使用选项API。

SparkUtil.initSpark()
         .sparkContext
         .cassandraTable(<keyspace>, <table_name>) 
         .select(<column_name>)

一行解决方案,用于从卡桑德拉表中获取几列:

val rdd = sc.cassandratable(" keyspace"," table_name")
.select(" service_date"," Mobile")。persist(Storagelevel.memory_and_disk)

相关内容

  • 没有找到相关文章

最新更新