可以使用Sqoop将数据从HDFS导出到RDBMS表。但似乎我们需要现有的桌子。
是否有一些参数可以告诉Sqoop做‘创建表’的事情,并将数据导出到这个新装箱的表?
如果是,它会与Oracle一起工作吗?
发布于 2013-04-16 02:18:43
恐怕目前Sqoop不支持在RDBMS中创建表。Sqoop使用RDBMS中的表获取元数据(列数及其数据类型),因此我不确定Sqoop可以从哪里获得元数据来为您创建表。
发布于 2016-09-07 21:24:15
实际上,您可以通过sqoop执行任意的SQL查询和DDL,至少可以使用MySQL和MSSQL。我希望它也能与Oracle一起工作。MSSQL示例:
sqoop eval --connect 'jdbc:sqlserver://<DB SERVER>:<DB PORT>;
database=<DB NAME>' --query "CREATE TABLE..."
--username <USERNAME> -P发布于 2016-11-30 23:32:31
我注意到你也使用甲骨文。某些特定于sqoop供应商的sqoop连接器支持这一点,包括Oracle。Sqoop的Oracle直接连接模式可以选择这样做
24.8.5.4.创建Oracle表 -Doraoop.template.table=TemplateTableName 通过复制OracleTableName的结构和数据类型创建TemplateTableName。TemplateTableName是在执行Sqoop命令之前存在于Oracle中的表。
ps。您必须使用--直接sqoop导出选项来激活sqoop直接模式=‘的数据连接器’(又名OraOOP -旧名称)。
https://stackoverflow.com/questions/16025949
复制相似问题