2016-05-18 192 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)的地方没有任何区别。无论如何,我已经尝试了几种不同的解决方案,包括删除您提到的“ - ”,但它不起作用。 –