Sqoop import from NON-DEFAULT schema Netezza



我想使用以下命令在特定的非默认架构中导入 Netezza 表:

sqoop import 
--connect jdbc:netezza://netezza-host-name:5480/NZDATABASE 
--table MY_SCHEMA.MY_TABLE 
--username user 
-P 
--hive-import 
--hive-database demo 
--create-hive-table 
--hive-table MY_NEW_TABLE

但是,此操作失败,因为它仅检查默认架构"ADMIN":

org.netezza.error.NzSQLException: ERROR: relation not exists NZDATABASE.管理。MY_SCHEMA。MY_TABLE

版本:

  • Sqoop 1.4.7
  • NZJDBC .jar 版本 7.2.1.8 驱动程序

我没有环境来测试它,但您可以尝试另外两个选项:

  1. 在 JDBC 连接字符串中指定模式名称:
jdbc:netezza://netezza-host-name:5480/NZDATABASE?currentSchema=MY_SCHEMA
or
jdbc:netezza://netezza-host-name:5480/NZDATABASE?searchpath=MY_SCHEMA
or
jdbc:netezza://netezza-host-name:5480/NZDATABASE;schema=MY_SCHEMA
  1. >将 --schema 参数传递到子系统中:
`-- --schema MY_TABLE` - two sets of '--' are needed there 

因此,完整命令将如下所示:

sqoop import 
--connect jdbc:netezza://netezza-host-name:5480/NZDATABASE 
--table MY_TABLE 
-- --schema MY_TABLE 
--username user 
-P 
--hive-import 
--hive-database demo 
--create-hive-table 
--hive-table MY_NEW_TABLE

最新更新