使用spark cassandra连接器在DataSet中获取列writeTime

时间:2018-03-14 19:32:41

标签: apache-spark cassandra spark-dataframe spark-cassandra-connector

我试图弄清楚在尝试将cassandra数据加载到DataSet(DataFrame)时是否可以使用spark cassandra连接器获取列writeTime

这就是我想要做的事情:

val df = spark.read.format("org.apache.spark.sql.cassandra")
   .options(Map( "table" -> "table1", "keyspace" -> "keyspace1",
           "cluster" -> "cluster1")).load()

我想将一堆列和writeTimes提取到DataFrame中:

val someColumns = df.select("column_a", "column_b", 
       "column_c", "column_a".writeTime)

不幸的是,不支持“column_a”.writeTime。有没有人知道这个的替代方案?

1 个答案:

答案 0 :(得分:1)

目前还没有针对ttl和writeTime的数据集API的直接支持。 您可以创建RDD,然后将RDD转换为DF:

val df = sc.cassandraTable[(Option[String], Option[Long])]("ks", "table").
      select ("name",  "name".writeTime).toDF()