如果在Sqoop导入未尝试连接到SQL Server的情况下Sqoop-Job命令失败

时间:2018-11-05 20:51:41

标签: sql-server hadoop hive sqoop

我正在尝试创建和执行sqoop job以从SQLSERVER获取数据并将其导入到Hive中,但是该命令在身份验证过程中失败。但是,如果我使用sqoop import执行完全相同的命令,它将起作用。

我在做什么错了?

请考虑示例:

$CONNECTION_CFG_DATABASE_USERNAME$CONNECTION_CFG_DATABASE_PASSWD是'admin'

"sqoop job --create $EXTRACTION_NAME -- import --connect '$CONNECTION_CFG_PREFIX_QUERY_STRING$CONNECTION_CFG_DATABASE_IP:$CONNECTION_CFG_SQLSERVER_ PORT;database=$CONNECTION_CFG_DATABASE_NAME' --username $CONNECTION_CFG_DATABASE_USERNAME --password $CONNECTION_CFG_DATABASE_PASSWD --table $CONNECTION_CFG_HIVE_TABLE_ NAME --target-dir $EXTRACTION_TARGET_DIR/$ID --hive-import --hive-database $CONNECTION_CFG_DATABASE_NAME --hive-table $CONNECTION_CFG_HIVE_TABLE_NAME --hive-partition-k ey $HIVE_TABLE_PARTITION_KEY --hive-partition-value $ID -m $SQOOP_PARALLELISM --check-column $INCREMENTAL_FIELD --incremental lastmodified"

以上一项失败。我得到以下输出:

ERROR manager.SqlManager: Error executing statement: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'admin'. ClientConnectionId:25424a39-dd01-4439-bfc6-d7ef21c8b1a0

但是,下面的这个有效!

"sqoop --import --connect '$CONNECTION_CFG_PREFIX_QUERY_STRING$CONNECTION_CFG_DATABASE_IP:$CONNECTION_CFG_SQLSERVER_PORT;database=$CONNECTION_CFG_DATABASE_NAME' --username $CONNECTION_CFG_DATABASE_USERNAME --password $CONNECTION_CFG_DATABASE_PASSWD --table $CONNECTION_CFG_HIVE_TABLE_NAME --target-dir $EXTRACTION_TARGET_DIR/$ID --hive-import --hive-database $CONNECTION_CFG_DATABASE_NAME --hive-table $CONNECTION_CFG_HIVE_TABLE_NAME --hive-partition-key $HIVE_TABLE_PARTITION_KEY --hive-partition-value $ID -m $SQOOP_PARALLELISM --check-column $INCREMENTAL_FIELD --incremental lastmodified"

我需要使用sqoop job,因为我不知道last-value参数的值,我想自动为我自动处理它。

任何帮助将不胜感激。

0 个答案:

没有答案