如何从sql server

时间:2017-03-07 03:21:29

标签: sql-server hive sqoop

我能够使用sqoop命令从sql server中提取表:

Sql数据库:MyDB sql table:dbo.TestTable

sqoop import  
     -connect 'jdbc:sqlserver://xx.xxx.xxx.xxx;database=MyDB' 
     --username Cread -P 
     --table TestTable 
     --hcatalog-database  default 
     --hcatalog-table testTable_hive   
     --create-hcatalog-table  
     --hcatalog-storage-stanza "stored as orc"

现在我试图在MyDB sql数据库中提取CDC表cdc.dbo_TestTable_CT。

sqoop import  
     -connect 'jdbc:sqlserver://xx.xxx.xxx.xxx;database=MyDB' 
     --username Cread -P 
     --table cdc.TestTable_CT
     --hcatalog-database  default 
     --hcatalog-table testTable_hive   
     --create-hcatalog-table  
     --hcatalog-storage-stanza "stored as orc"

它抛出一个错误无效的对象名称。看起来默认情况下它正在查看dbo而无法找到cdc表。

有人可以帮我解决如何拉CDC表吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试过像这样传递架构?

 sqoop import  
     -connect 'jdbc:sqlserver://xx.xxx.xxx.xxx;database=MyDB' 
     --username Cread -P 
     --table TestTable_CT
     -- --schema cdc
     --hcatalog-database  default 
     --hcatalog-table testTable_hive   
     --create-hcatalog-table  
     --hcatalog-storage-stanza "stored as orc"