**需求:想在phoenix上维护两张宽表,一张作为即席查询使用,只有一天的数据、一张作为历史表。 宽表的特点是:由多个表组合而成,但是每张表的到数时间不一致,有的表先到,有的表可能隔天才到。 想要达到的效果:即席查询用的宽表是来一张表就加载一张表的数据,没来的等来了再加载,中间过程有查询的时候,查询结果是:已经更新的字段(已经到数的表字段)和未更新的字段(没有到数的表字段) 要求:即席查询的宽表中的数据,既要在impala、hive中可查,也要在phoenix、habse中可查。 ** 目前方案: 假设:宽表由2张表组成:table1和table2 1)每张小表(组成宽表的每张表)先通过调度加载到hive里面 ods.table1(partition=‘202108010’)、ods.table2(partition=‘202108010’) 2)在hive里面创建每张小表与phoenix的映射表(表结构与第一步的表结构一致) 目的:为了能够在phoenix中操作hive中的表数据,因为宽表中插入数据的时候要用phoenix,而不用hive,因为hive如果只插入某几个字段的时候,其他的字段会为null,而需求是更新表字段,没有到数的字段,保持原貌。
hive>:
|