0

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

示例(来自 datastax 网站的参考):cqlsh:demodb> INSERT INTO users (user_name, password) VALUES ('cbrown', 'ch@ngem4a') USING TTL 86400;

cqlsh:demodb> UPDATE users USING TTL 432000 SET 'password' = 'ch@ngem4a' WHERE user_name = 'cbrown';

注意:要求是在一段时间后清除数据。Cassandra 可以选择使用 TTL 来执行此操作,但我正在尝试使用 Hive 加载数据。因此,寻找在列系列级别或通过加载时指定 TTL 的选项蜂巢

4

1 回答 1

1

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

但是您可以在 Pig 中通过在 output_query 中指定 TTL 或在 Hadoop 中通过在“cassandra.output.cql”中设置 TTL 来做到这一点

于 2013-11-25T17:03:45.660 回答