我们有大量不同的数据源,包括oracle,db2,mysql。我们还需要在末尾附加几个审计列。我遇到了下面的Java类org.apache.sqoop.hive.HiveTypes。我计划创建一个简单的解释器,接受RDBMS DDL和吐出Hive DDL脚本。对如何实现这一点有什么建议吗?
发布于 2016-04-27 18:54:53
Hive QL或多或少类似于普通的RDBMS DDL。但是它缺少某些东西,这就是为什么它没有完全遵循ANSI SQL的原因。没有自动转换它的过程。
但是您必须尝试在hive上运行SQL查询,并且在任何违反它的地方,您都必须根据Hive更改查询。
例如,Hive只使用相等条件作为连接条件,这与RDBMS中的情况不同。
要自己创建一个解释器,首先必须列出RDBMS查询构造和Hive QL构造之间的共同区别。每当您遇到一个RDBMS构造,根据您的列表,它将在配置单元中被违反,查询将按照每个配置单元进行重建。必须对此替换逻辑进行编码。
https://stackoverflow.com/questions/36873197
复制相似问题