Azure HDInsight参数的引用不正确
我正在尝试将Azure SQL数据库中的数据与Hadoop(HDInsight)一起使用 为了获取数据并执行作业,我在C#console程序中运行以下代码:Azure HDInsight参数的引用不正确,azure,hadoop,azure-sql-database,azure-hdinsight,Azure,Hadoop,Azure Sql Database,Azure Hdinsight,我正在尝试将Azure SQL数据库中的数据与Hadoop(HDInsight)一起使用 为了获取数据并执行作业,我在C#console程序中运行以下代码: var jobClient = JobSubmissionClientFactory.Connect(creds); //Setup the sqoop job string query = "import --connect \"jdbc:sqlserver://...:1433;data
var jobClient = JobSubmissionClientFactory.Connect(creds);
//Setup the sqoop job
string query = "import --connect \"jdbc:sqlserver://...:1433;database=...;user=...;password=...;\" --jobname testname123 --query \"SELECT * FROM HouseDatas WHERE $CONDITIONS\" --split-by ID --target-dir asv://...@....blob.core.windows.net/Input/" + Job_ID + "/";
var sqoopJob = new SqoopJobCreateParameters()
{
Command = query,
StatusFolder = "asv://...@....blob.core.windows.net/Input/sqoop_status/" + Job_ID + "/",
};
错误消息:
Unhandled Exception: Microsoft.Hadoop.Client.HttpLayerException: Request failed with code: BadRequest
Content:("error":"Passed in parameter is incorrectly quoted: \"SELECT")
at Microsoft.WindowsAzure...
...
一些值得注意的事情:
Unhandled Exception: Microsoft.Hadoop.Client.HttpLayerException: Request failed with code: BadRequest
Content:("error":"Passed in parameter is incorrectly quoted: \"SELECT")
at Microsoft.WindowsAzure...
...
- 它在没有--query参数的情况下工作,也就是说,如果我只选择整个表
- 如果在Powershell中执行,则该命令有效
- 如果查询中没有空格(即--query \“SELECT\”),则不会出现错误,但这显然不是很有用
- 单引号(--query'SELECT…$Conditions')起作用,但作业不会产生任何输出
- 使用@和双引号是行不通的
- 问题似乎与类似,但答案(指定工作名称)没有帮助
提前感谢您的帮助您可以将命令另存为文件,并使用-file参数指向它。这将避免编码问题。很抱歉回答得太晚。虽然仍然存在一些问题,但它最终还是起了作用,但我仍然想知道是什么首先导致了编码问题。