2016-07-25 5 views
1

Я хотел бы экспортировать данные в HDFS в таблицу SQL Server в схеме my_schema.Экспорт Sqoop в SQL Server: схемы?

Я попытался --schema как команда импорта:

sqoop export \ 
--libjars /opt/mapr/sqoop/sqoop-1.4.6/lib/sqljdbc4.jar \ 
--connect "jdbc:sqlserver://MY-SERVER-DNS;database=my_db;" \ 
--schema "myschema" \ 
--table "my_table" \ 
--export-dir /path/to/my/hdfs/dir 

ERROR tool.BaseSqoopTool: Unrecognized argument: --schema 

И --table "schema.table"

sqoop export \ 
--libjars /opt/mapr/sqoop/sqoop-1.4.6/lib/sqljdbc4.jar \ 
--connect "jdbc:sqlserver://MY-SERVER-DNS;database=my_db;" \ 
--table "my_schema.my_table" \ 
--export-dir /path/to/my/hdfs/dir 

INFO manager.SqlManager: 
Executing SQL statement: SELECT t.* FROM [my_schema.my_table] AS t WHERE 1=0 

ERROR manager.SqlManager: Error executing statement: 
com.microsoft.sqlserver.jdbc.SQLServerException: 
Invalid object name 'my_schema.my_table'. 

Есть ли способ сделать это с sqoop? Или другая технология?

EDIT:

sqoop export \ 
--libjars /opt/mapr/sqoop/sqoop-1.4.6/lib/sqljdbc4.jar \ 
--connect "jdbc:sqlserver://MY-SERVER-DNS;database=my_db;schema=my_schema;" \ 
--table "my_table" \ 
--export-dir /path/to/my/hdfs/dir 

INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM [my_table] AS t WHERE 1=0 
16/07/25 10:46:21 ERROR manager.SqlManager: 
Error executing statement: com.microsoft.sqlserver.jdbc.SQLServerException: 
Invalid object name 'my_table'. 

Это не распознает схемы.

ответ

5

обеспечивают схемы в строке соединения:

jdbc:sqlserver://MY-SERVER-DNS;databaseName=my_db;schema=my_schema;

так что ваша команда экспорта sqoop должна быть:

sqoop export \ 
--libjars /opt/mapr/sqoop/sqoop-1.4.6/lib/sqljdbc4.jar \ 
--connect "jdbc:sqlserver://MY-SERVER-DNS;databaseName=my_db;schema=my_schema;" \ 
--table "my_table" \ 
--export-dir /path/to/my/hdfs/dir 

ТАКЖЕ:

Custom schemas are supported for both import and export job - от син налог в sqoop руководстве --schema должны быть переданы в качестве -- --schema:

так что ваша команда экспорта sqoop должна быть:

sqoop export \ 
--libjars /opt/mapr/sqoop/sqoop-1.4.6/lib/sqljdbc4.jar \ 
--connect "jdbc:sqlserver://MY-SERVER-DNS;databaseName=my_db;" \ 
--export-dir /path/to/my/hdfs/dir 
--table "my_table" \ 
-- --schema my_schema \ 
+1

2-я версия работала для меня. Благодаря! – zemekeneng

Смежные вопросы