2016-05-18 97 views
0

我試圖從運行PowerShell中以下sqoop工作,但我結束了一個錯誤,說--schema是無法識別的參數:無法識別--schema參數sqoop工作

$sqoopDef = New-AzureRmHDInsightSqoopJobDefinition -Command "import --connect $connectionString --target-dir $targetDir --fields-terminated-by \t --lines-terminated-by \n -m $numMappers --table $tableName-- --schema $schema" 

如果我嘗試從它運行的命令行運行相同的工作,沒有任何錯誤。 --schema參數是不是從powershell中支持的?

注意:我在Azure HdInsight上使用Spark 1.6.1 Linux羣集。 Sqoop版本是:1.4.6.2.4.2.0-258

謝謝!

回答

1

我已設法通過在sqoop命令中使用--options-file參數來實現此問題的解決方法。我從初始命令中刪除了--schema參數,並將其粘貼到選項文件中。

0

PowerShell只是將命令傳遞給您的HDInsight羣集。如果羣集直接在羣集上運行Sqoop作業時支持--schema,那麼它在通過PowerShell提交時也應該可以工作。

問題可能是您的表名尾部附加了額外的「--」。嘗試刪除它,看看是否能解決問題。

+0

我也懷疑這個命令被傳遞給了集羣,因此,它應該與它被稱爲(cmd或powershell)的地方沒有任何區別。無論如何,我已經嘗試了幾種不同的解決方案,包括刪除您提到的「 - 」,但它不起作用。 –