如何使用配置单元在列族中设置ttl

时间:2013-11-25 10:53:21

标签: cassandra hive datastax-enterprise datastax-java-driver cassandra-2.0

我正在使用Datastax for Cassandra并且在CFS之上,Iam尝试使用Hive.Cassandra在列级别加载和更新TTL(生存时间)加载数据。我的问题是如何才能实现相同的TTL当我们使用Hive将数据加载到Column Family中时。有没有办法为ColumnFamily指定TTL或从hive加载?

示例(参考datastax网站): cqlsh:demodb的> INSERT INTO用户                 (用户名密码)                 VALUES('cbrown','ch @ ngem4a')使用TTL 86400;

cqlsh:demodb的>更新用户使用TTL 432000 SET'密码'='ch @ ngem4a'                 WHERE user_name ='cbrown';

注意:要求是在一段时间后清除数据.Cassandra可以选择使用TTL执行此操作,但是我尝试使用Hive加载数据。因此,要查找在列族列级别指定TTL的选项或通过配置单元加载

1 个答案:

答案 0 :(得分:1)

使用Hive从CF读取数据会排除过期列。将数据写回列族无法在HIVE中指定TTL,我们将很快添加此功能。

但你可以在Pig中通过在“cassandra.output.cql”中设置TTL在output_query或Hadoop中指定TTL来实现它