我能够使用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表吗?
感谢。
答案 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"