使用 spark cassandra 连接器在 DataSet 中获取列 writeTime
Posted
技术标签:
【中文标题】使用 spark cassandra 连接器在 DataSet 中获取列 writeTime【英文标题】:Fetch column writeTime in DataSet using spark cassandra connector 【发布时间】:2018-03-14 19:32:40 【问题描述】:我试图弄清楚在尝试将 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。有谁知道这个的替代方案吗?
【问题讨论】:
***.com/questions/28504250/… 【参考方案1】:Dataset API 中还没有对 ttl 和 writeTime 的直接支持。 您可以创建 RDD,然后将 RDD 转换为 DF:
val df = sc.cassandraTable[(Option[String], Option[Long])]("ks", "table").
select ("name", "name".writeTime).toDF()
【讨论】:
以上是关于使用 spark cassandra 连接器在 DataSet 中获取列 writeTime的主要内容,如果未能解决你的问题,请参考以下文章
使用 spark cassandra 连接器在 DataSet 中获取列 writeTime
Spark Cassandra 连接器 - where 子句
Spark-Cassandra 与 Spark-Elasticsearch