我正在使用spark-cassandra-connector_2.11(版本2.0.5)将数据从Cassandra加载到Spark集群中。我使用read api加载数据如下:
SparkUtil.initSpark()
.read
.format("org.apache.spark.sql.cassandra")
.options(Map("table"-><table_name>, "keyspace"-><keyspace>))
.load()
它的工作正常,但是,在一个用例中,我想只读取Cassandra的特定列。如何使用read api做同样的事情?
答案 0 :(得分:4)
SparkUtil.initSpark()
.read
.format("org.apache.spark.sql.cassandra")
.options(Map("table"-><table_name>, "keyspace"-><keyspace>))
.load()
.select("column_name")
使用select
..您也可以使用案例类
答案 1 :(得分:2)
其他方法是使用以下方法而不使用选项api。
SparkUtil.initSpark()
.sparkContext
.cassandraTable(<keyspace>, <table_name>)
.select(<column_name>)
答案 2 :(得分:-1)
一种从Cassandra表中获取几列的解决方案:
val rdd = sc.cassandraTable(“ keyspace”,“ table_name”)
.select(“ service_date”,“ mobile”)。persist(StorageLevel.MEMORY_AND_DISK)