Hadoop 动态模式解决方案-HIVE/AVRO
需求是跟上目标ORC表的模式演变。我正在从源代码接收JSON事件。我们计划将它们转换为AVRO(因为它支持模式演化)。由于模式可以每天/每周更改,我们需要不断接收新的数据JSON文件,将它们转换为AVRO,并将所有数据(旧/新)存储在ORC配置单元表中。我们如何解决这个问题 您可以遵循以下方法,这是解决此问题的多种方法之一 1。创建HBASE表Hadoop 动态模式解决方案-HIVE/AVRO,hadoop,hive,schema,Hadoop,Hive,Schema,需求是跟上目标ORC表的模式演变。我正在从源代码接收JSON事件。我们计划将它们转换为AVRO(因为它支持模式演化)。由于模式可以每天/每周更改,我们需要不断接收新的数据JSON文件,将它们转换为AVRO,并将所有数据(旧/新)存储在ORC配置单元表中。我们如何解决这个问题 您可以遵循以下方法,这是解决此问题的多种方法之一 1。创建HBASE表 首先读取AVRO数据并在HBASE中创建表。(您可以使用spark高效地执行此操作) HBASE表甚至在将来也将负责模式的演变 2。创建配置单元包装
- 首先读取AVRO数据并在HBASE中创建表。(您可以使用spark高效地执行此操作)
- HBASE表甚至在将来也将负责模式的演变
- 创建指向HBASE表的配置单元包装表(存储处理程序)。(你可以阅读更多关于它的内容
- 现在从步骤2中创建的表创建ORC表
- 由于配置单元表与架构紧密耦合,因此在步骤2中将数据写入配置单元包装器表之前,您需要处理一个步骤。您需要在此处标识新列,然后将这些列适当地添加到现有包装器或ORC表中。这同样可以通过NiFi或Spark或简单的shell脚本来实现。选择r根据您的用例选择合适的工具