Hadoop 如何传输数据&;从配置单元到RDBMS的元数据

Hadoop 如何传输数据&;从配置单元到RDBMS的元数据,hadoop,apache-spark,hive,sqoop,Hadoop,Apache Spark,Hive,Sqoop,我的配置单元环境中有300多个表。 我想将所有表从配置单元导出到Oracle/MySql,包括元数据 我的Oracle数据库没有与这些配置单元表对应的任何表 如果配置单元中不存在表,则从Oracle到配置单元的Sqoop导入将在配置单元中创建表。但是,如果不存在表,则从配置单元到Oracle的Sqoop导出不会创建表,并且会因异常而失败 Sqoop中是否也有导出元数据的选项?或 有没有其他Hadoop工具可以实现这一点 提前感谢您要求的功能不在Spark中。不幸的是,我也不知道目前有哪种hado

我的配置单元环境中有300多个表。 我想将所有表从配置单元导出到Oracle/MySql,包括元数据

我的Oracle数据库没有与这些配置单元表对应的任何表

如果配置单元中不存在表,则从Oracle到配置单元的Sqoop导入将在配置单元中创建表。
但是,如果不存在表,则从配置单元到Oracle的Sqoop导出不会创建表,并且会因异常而失败

Sqoop中是否也有导出元数据的选项?或
有没有其他Hadoop工具可以实现这一点


提前感谢

您要求的功能不在Spark中。不幸的是,我也不知道目前有哪种hadoop工具可以满足您的要求。一种可能的解决方法是在配置单元中使用“showcreatetablemytable”语句。它将返回CREATETABLE语句。您可以通过awk手动或实际地解析它,并在文件中获取create tables,然后针对您的oracle db运行该文件。从那里,您可以使用sqoop填充表


这不会很有趣。

您要求的功能不在Spark中。不幸的是,我也不知道目前有哪种hadoop工具可以满足您的要求。一种可能的解决方法是在配置单元中使用“showcreatetablemytable”语句。它将返回CREATETABLE语句。您可以通过awk手动或实际地解析它,并在文件中获取create tables,然后针对您的oracle db运行该文件。从那里,您可以使用sqoop填充表


这不会很有趣。

Sqoop无法在RDBMS中基于配置单元表复制元数据或创建表。

表必须存在于RDBMS中才能执行sqoop导出


为什么会这样? 从RDBMS到配置单元的映射很容易,因为配置单元只有很少的数据类型(10-15)。从多个RDBMS数据类型到配置单元数据类型的映射很容易实现。但反之亦然并不那么容易。典型的RDBMS有100种数据类型(这在不同的RDBMS中太不同了)

另外,sqoop导出是新添加的功能。这个功能将来可能会出现



Sqoop无法在RDBMS中基于配置单元表复制元数据或创建表。

表必须存在于RDBMS中才能执行sqoop导出


为什么会这样? 从RDBMS到配置单元的映射很容易,因为配置单元只有很少的数据类型(10-15)。从多个RDBMS数据类型到配置单元数据类型的映射很容易实现。但反之亦然并不那么容易。典型的RDBMS有100种数据类型(这在不同的RDBMS中太不同了)

另外,sqoop导出是新添加的功能。这个功能将来可能会出现



您可以使用Spark DataFrame进行此操作。您可以使用Spark DataFrame进行此操作。