我们有一个嵌套(在多个级别)的json作为实木复合地板架构。该模式用于使用Hive中的外部表从S3读取实木复合地板。
现在,架构已经发展:
更新是在深深嵌套在架构树中的属性上完成的。
我们要支持这种发展有哪些选择?
添加/删除新列很容易,只需更新配置单元表定义即可完成
。我们已经尝试了方法#1(迁移数据)来处理一部分数据,并计算了完成迁移所需的成本。我们正在寻找方法来查看是否可以避免这种费用,因为我们一天的数据量约为100 GB,并且我们拥有3-4年的数据。
创建Hive视图似乎很复杂,因为我们还必须在视图中模拟架构的嵌套,以避免数据扁平化。
模式的示例可以是:
A
|
|-> B
| |
| |-> C
| |-> D
| | |-> E (Say this is changed from KG to POUND)
| | |-> F
| | |-> G (Removed)
| | |-> H (Added)
| | | |-> H1
| | | |-> H2
| |
| |-> I
| | |-> J
| | |-> K
|
|-> L