0

我正在使用Datastax for Cassandra和CFS,Iam嘗試使用Hive.Cassandra在填充和更新時在列級別具有TTL(生存時間)加載數據。我的問題是,當我們使用Hive將數據加載到Column Family中時,我們如何實現相同的TTL。是否有任何方法可以指定ColumnFamily的TTL或從Hive加載時?如何在使用配置單元的列系列中設置ttl

實施例(參照從datastax網站): cqlsh:demodb的> INSERT INTO用戶 (USER_NAME,密碼) VALUES( 'cbrown', 'CH @ ngem4a')使用TTL 86400;

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

注意:要求是在一段時間後清除數據.Cassandra可以選擇使用TTL來做到這一點,但是iam試圖使用Hive來加載數據。因此,在列族級別查找指定TTL的選項或通過配置單元加載時

回答

1

使用Hive從CF中讀取數據將排除過期的列。將數據寫回列家族不能在HIVE中指定TTL,我們很快就會添加此功能。

但是你可以通過在「cassandra.output.cql」

+0

感謝您的重播在output_query或Hadoop的指定TTL通過設定的TTL做豬,有沒有更好的辦法,蜂巢 – user1574196

+0

刪除數據您可以將空值寫入配置單元表以將行下Cassandra表列值更改爲空(但不是tomestone)。尚未支持在蜂巢中完成清除日期。 – alexLiu

相關問題