【发布时间】:2015-10-24 17:52:21
【问题描述】:
我正在尝试使用以下方法过滤一个巨大的 Cassandra 表的一小部分:
val snapshotsFiltered = sc.parallelize(startDate to endDate).map(TableKey(_2)).joinWithCassandraTable("listener","snapshots_test_b")
我想将 cassandra 表中的行映射到作为分区键一部分的“created”列上。
我的表键(表的分区键)定义为:
case class TableKey(imei: String, created: Long, when: Long)
结果是错误:
[错误] /home/ubuntu/scala/test/test.scala:61: 方法应用的参数不足: (imei: String, created: Long)test.TableKey in object TableKey. [错误] 创建了未指定的值参数。 [错误] val snapshotsFiltered = sc.parallelize(startDate to endDate).map(TableKey(_2)).joinWithCassandraTable("listener","snapshots_test_b") [错误] ^ [错误] 发现一个错误 [错误] (compile:compile) 编译失败
它只适用于分区键中的一个对象,如Documentation。
为什么多个分区键会出现问题?- 已回答。
编辑:我尝试以正确的形式使用 joinWithCassandraTable:
val snapshotsFiltered = sc.parallelize(startDate to endDate).map(TableKey("*",_,startDate)).joinWithCassandraTable("listener","snapshots_test_c")
当我尝试在 Spark 上运行它时没有错误,但它永远停留在“[stage 0:> (0+2)/2]”...
出了什么问题?
【问题讨论】:
标签: scala cassandra apache-spark datastax-enterprise