Usando:
sc.parallelize(startDate to endDate)
Com startData e endDate como Longs gerados a partir de Dates pelo formato:
("yyyy-MM-dd HH:mm:ss")
Eu fiz o spark para construir um array enorme (mais de 100.000 objetos) para se juntar à tabela C* e não travou - C* trabalhou duro para fazer a junção acontecer e retornar os dados.
Por fim, alterei meu intervalo para:
case class TableKey(created_dh: String)
val data = Array("2015-10-29 12:00:00", "2015-10-29 13:00:00", "2015-10-29 14:00:00", "2015-10-29 15:00:00")
val snapshotsFiltered = sc.parallelize(data, 2).map(TableKey(_)).joinWithCassandraTable("listener","snapshots_tnew")
E está tudo bem agora.