saveToCassandra在Spark Cassandra Connector中指定列名

时间:2015-03-12 17:40:37

标签: cassandra apache-spark spark-streaming

我使用Spark Cassandra Connector来更新此表中的计数器:

CREATE TABLE IF NOT EXISTS analytics.minute_usage_stats (
  metric_date timestamp,
  user_id uuid,
  metric_name text,
  h1_m1 counter,
  h1_m2 counter,
  h1_m3 counter,
  ...
  h24_m60 counter,
  PRIMARY KEY ((metric_date), user_id, metric_name)
);

代码看起来像这样:

class Metric(metricName: String, metricDate: Date, userId: String, ???)

metricEventStream
  .map(event => {
    // Parsing logic
    new Metric(metricName, metricDate, userId, h1M1???)
  })
  .saveToCassandra("analytics", "minute_usage_stats")

我需要一次更新一个计数器列,并且地图中的每个项目的列可能不同。

纵观the documentation,如果不使用Cassandra驱动程序本身并丢失Spark连接器的所有强大功能,似乎无法做到这一点。

有没有办法用当前的Spark Cassandra Connector为每个RDD行指定列名?

0 个答案:

没有答案