你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Invoke-AzureRmHDInsightHiveJob

将 Hive 查询提交到 HDInsight 群集,并在一个操作中检索查询结果。

警告

AzureRM PowerShell 模块已自 2024 年 2 月 29 日起正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可运行,但不再受到维护或支持,任何继续使用的行为都由用户自行决定并自行承担风险。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

Invoke-AzureRmHDInsightHiveJob
      [-Arguments <String[]>]
      [-Files <String[]>]
      [-StatusFolder <String>]
      [-Defines <Hashtable>]
      [-File <String>]
      [-JobName <String>]
      [-Query <String>]
      [-RunAsFileJob]
      [-DefaultContainer <String>]
      [-DefaultStorageAccountName <String>]
      [-DefaultStorageAccountKey <String>]
      [-DefaultProfile <IAzureContextContainer>]
      [<CommonParameters>]

说明

Invoke-AzureRmHDInsightHiveJob cmdlet 将 Hive 查询提交到 Azure HDInsight 群集,并在一个操作中检索查询结果。 在调用 Invoke-AzureRmHDInsightHiveJob 之前,使用 Use-AzureRmHDInsightCluster cmdlet 指定将用于查询的群集。

示例

示例 1:将 Hive 查询提交到 Azure HDInsight 群集

PS C:\># Primary storage account info
PS C:\> $storageAccountResourceGroupName = "Group"
PS C:\> $storageAccountName = "yourstorageacct001"
PS C:\> $storageAccountKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $storageAccountResourceGroupName -Name $storageAccountName)[0].value


PS C:\> $storageContainer = "container001"

# Cluster info
PS C:\> $clusterName = "your-hadoop-001"
PS C:\> $clusterCreds = Get-Credential

# Hive job details
PS C:\> $statusFolder = "tempStatusFolder/"
PS C:\> $query = "SHOW TABLES"

PS C:\> Use-AzureRmHDInsightCluster `
            -ClusterCredential $clusterCreds `
            -ClusterName $clusterName

PS C:\> Invoke-AzureRmHDInsightHiveJob -StatusFolder $statusFolder `
            -Query $query `
            -DefaultContainer $storageAccountContainer `
            -DefaultStorageAccountName "$storageAccountName.blob.core.windows.net" `
            -DefaultStorageAccountKey $storageAccountKey

此命令将查询 SHOW TABLES 提交到名为 your-hadoop-001 的群集。

参数

-Arguments

指定作业的参数数组。 参数以命令行参数的形式传递到每个任务。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultContainer

指定 HDInsight 群集使用的默认Azure 存储帐户中默认容器的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

类型:IAzureContextContainer
别名:AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultStorageAccountKey

指定 HDInsight 群集使用的默认存储帐户的帐户密钥。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultStorageAccountName

指定 HDInsight 群集使用的默认存储帐户的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Defines

指定要在作业运行时设置的 Hadoop 配置值。

类型:Hashtable
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-File

指定要运行的查询的Azure 存储中的文件的路径。 可以使用此参数而不是 Query 参数。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Files

指定 Hive 作业所需的文件集合。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-JobName

指定 Hive 作业的名称。 如果未指定此参数,此 cmdlet 将使用默认值:“Hive: <Query 的前 100 个字符>”。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Query

指定 Hive 查询。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunAsFileJob

指示此 cmdlet 在存储查询的默认 Azure 存储帐户中创建文件。 此 cmdlet 提交将引用此文件的作业作为要运行的脚本。 可以使用此功能来处理特殊字符,例如通过 Templeton 提交作业失败的百分比符号 ≤ ,因为 Templeton 将具有百分号的查询解释为 URL 参数。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-StatusFolder

指定包含作业的标准输出和错误输出的文件夹的位置。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

None

输出

String