我的hive环境中有300多张表。 我想将所有表从 Hive 导出到 Oracle/MySql,包括元数据。
我的 Oracle 数据库没有与这些 Hive 表对应的任何表。
从 Oracle 到 Hive 的 Sqoop 导入如果表不存在,则在 Hive 中创建表。
但是从 Hive 到 Oracle 的 Sqoop 导出如果不存在,则不会创建表,并会失败并出现异常。
Sqoop 中是否也有导出元数据的选项?要么
是否有任何其他 Hadoop 工具可以实现此目的?
提前致谢
最佳答案
您要求的功能不在 Spark 中。不幸的是,我不知道当前的 hadoop 工具可以满足您的要求。一个潜在的解决方法是在 Hive 中使用“show create table mytable”语句。它将返回创建表语句。您可以通过 awk 手动或实用地解析它并在文件中获取创建表,然后针对您的 oracle 数据库运行该文件。从那里,您可以使用 sqoop 填充表。
这不会很有趣。
关于hadoop - 如何将数据和元数据从 Hive 传输到 RDBMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40273255/