假设我有一个带有复合键的hbase表 - Key1,Key2,Key3,Time
我想用spark做这样的事情:
Aggregate at -> Key1,Key2,Key3,DatePart(Time),Hour(Time) --->Save result in Another table (Step1Table)
使用上面的rdd
Aggregate at -> Key1,Key2,DatePart(Time),Hour(Time) --->Save result in Another table (Step2Table)
使用上面的rdd
Aggregate at -> Key1,DatePart(Time),Hour(Time) --->Save result in Another table (Step3Table)
事情就是当我想将结果保存到表中时,我不想做一个简单的插入,我想做某种合并(如果密钥存在记录),有人可以指导我
我想我需要创建一个重载的TableOutputFormat,有人可以告诉我一个如何处理它的想法?
答案 0 :(得分:0)
HBase是一种读/写媒体。您可以为同一个rowkey创建新条目:它们将具有更新的时间戳,因此它们可以有效地"替换旧的。
因此,您可以通过以下方式管理Step1Table,Step2Table和Step3Table:
本质上,工作不在特殊的输入/输出格式中(除了使用HBase的TableInput / OutputFormat之外),而是在聚合计算中。