0
我有一個擁有大量動態列的cassandra列家族。我正在運行一個簡單的Spark-Cassandra連接器示例,我試圖從該表中獲取所有數據。問題在於它沒有從我的列族中獲取任何動態列。Spark Cassandra Connector - 無法獲取動態列
在我的示例和下面的代碼片段中,它能夠獲取所有行的主鍵和輔助索引列,但不能獲取任何其他列(它有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';
感謝@Piotr指導我在正確的方向。根據您所共享的鏈接,在CQL中似乎我們不能擁有動態列(單元格)本身,並且需要預先定義列。但對於我的用例,我想我可以使用地圖集合將所有動態屬性存儲在地圖列中。感謝你的幫助 !! – invinc4u 2014-11-03 19:57:59