如何使用Microsoft.Hadoop.WebHCat.Protocol.WebHCatHttpClient.CreateHiveJob的“definitions”参数?

时间:2015-03-21 16:28:40

标签: hive hdinsight hcatalog

我猜defines允许将参数传递给Hive查询,但我还没有找到任何文档或用法示例。如何在查询中使用这些参数?

1 个答案:

答案 0 :(得分:1)

我正在使用来自powershell的define参数,但希望它能帮到你。

首先在PowerShell脚本中,我写的内容如下:

[HashTable] $defines
$defines = @{}
$defines.Add("someContainerUrl",${someContainerUrl})

然后我在调用HDInsight时使用这个新的define变量:

$jobDef = New-AzureHDInsightHiveJobDefinition -Query $hiveQuery -JobName $jobName -Defines $defines -StatusFolder "/JobStatus/Hive"
$hiveJob = Start-AzureHDInsightJob –Cluster $clusterName –JobDefinition $jobDef

然后在我的hive代码中,我可以使用此定义变量,例如如下:

ADD FILES
    ${hiveconf:someContainerUrl}/SomeFile.exe;

我认为这篇文章也可能对你有所帮助: http://blogs.msdn.com/b/bigdatasupport/archive/2014/02/13/how-to-pass-hadoop-configuration-values-for-a-job-via-hdinsight-powershell-and-net-sdk.aspx