【发布时间】:2014-12-28 07:41:52
【问题描述】:
我有一个包含很多动态列的 cassandra 列族。我正在运行一个简单的 Spark-Cassandra 连接器示例,我试图从该表中获取所有数据。问题是它没有从我的列族中获取任何动态列。
在我的示例和下面的代码 sn-p 中,它能够获取所有行的主键和二级索引列,但不能获取任何其他列(它有 30 多个动态列)。根据我在此处的阅读 (Spark Datastax Java API Select statements),到目前为止,我感觉连接器支持仅获取分区键和集群键作为列。有人可以确认我的理解是否正确。如果有人能建议如何解决这个问题,那就太好了?
/**
* Loads a cassandra column family as a spark RDD.
*/
public static CassandraJavaRDD<CassandraRow> getCassandraTableRDD(
JavaSparkContext context, String keyspace, String table)
{
return javaFunctions(context).cassandraTable(keyspace, table);
}
CREATE TABLE source_product_canonical_data_sample (
'key' text PRIMARY KEY,
source text
) WITH
comment='' AND
comparator=text AND
read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
default_validation=text AND
min_compaction_threshold=4 AND
max_compaction_threshold=32 AND
replicate_on_write='true' AND
compaction_strategy_class='SizeTieredCompactionStrategy' AND
compression_parameters:sstable_compression='LZ4Compressor';
【问题讨论】: