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

New-AzureHDInsightMapReduceJobDefinition

定义新的 MapReduce 作业。

注意

本文档中引用的 cmdlet 用于管理使用 Azure Service Manager (ASM) API 的旧 Azure 资源。 创建新的资源时,不建议使用此旧版 PowerShell 模块,因为 ASM 计划停用。 有关详细信息,请参阅 Azure Service Manager 停用

Az PowerShell 模块是推荐的 PowerShell 模块,用于使用 PowerShell 管理 Azure 资源管理器 (ARM) 资源。

语法

New-AzureHDInsightMapReduceJobDefinition
   [-Arguments <String[]>]
   -ClassName <String>
   [-Defines <Hashtable>]
   [-Files <String[]>]
   -JarFile <String>
   [-JobName <String>]
   [-LibJars <String[]>]
   [-StatusFolder <String>]
   [-Profile <AzureSMProfile>]
   [<CommonParameters>]

说明

此版本的 Azure PowerShell HDInsight 已弃用。 这些 cmdlet 将于 2017 年 1 月 1 日删除。 请使用较新版本的 Azure PowerShell HDInsight。

有关如何使用新的 HDInsight 创建群集的信息,请参阅 使用 Azure PowerShell 在 HDInsight 中创建基于 Linux 的群集(https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-create-linux-clusters-azure-powershell/)。 有关如何使用 Azure PowerShell 和其他方法提交作业的信息,请参阅 HDInsight 中的提交 Hadoop 作业(https://azure.microsoft.com/en-us/documentation/articles/hdinsight-submit-hadoop-jobs-programmatically/)。 有关 Azure PowerShell HDInsight 的参考信息,请参阅 Azure HDInsight Cmdlet

New-AzureHDInsightMapReduceJobDefinition cmdlet 定义了要在 Azure HDInsight 群集上运行的新 MapReduce 作业。

示例

示例 1:定义 MapReduce 作业、运行作业并获取输出

PS C:\>$SubId = (Get-AzureSubscription -Current).SubscriptionId
PS C:\> $ClusterName = "MyCluster"
PS C:\> $WordCountJob = New-AzureHDInsightMapReduceJobDefinition -JarFile "/Example/Apps/Hadoop-examples.jar" -ClassName "WordCount" -Defines @{ "mapred.map.tasks" = "3" } -Arguments "/Example/Data/Gutenberg/Davinci.txt", "/Example/Output/WordCount"
PS C:\> $WordCountJob | Start-AzureHDInsightJob -Cluster $ClusterName
    | Wait-AzureHDInsightJob -Subscription $SubId -WaitTimeoutInSeconds 3600
    | Get-AzureHDInsightJobOutput -Cluster $ClusterName -Subscription $SubId -StandardError

第一个命令获取当前订阅的 ID,然后将其存储在$SubId变量中。

第二个命令将名称 MyCluster 分配给$Clustername变量。

第三个命令使用 New-AzureHDInsightMapReduceJobDefinition cmdlet 创建 MapReduce 作业定义,然后将其存储在$WordCountJob变量中。

第四个命令使用以下 cmdlet 执行一系列操作:

  • Start-AzureHDInsightJob 在$ClusterName上启动作业。
  • Wait-AzureHDInsightJob 等待作业完成并显示完成进度。
  • Get-AzureHDInsightJobOutput 以获取作业输出。

参数

-Arguments

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

类型:String[]
Aliases:Args
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-ClassName

指定 Java 存档 (JAR) 文件中作业类的名称。

类型:String
Aliases:Class
Position:Named
默认值:None
必需:True
Accept pipeline input:False
Accept wildcard characters:False

-Defines

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

类型:Hashtable
Aliases:Params
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-Files

指定作业所需的 WASB 文件的数组。

类型:String[]
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-JarFile

指定 JAR 文件的完全限定名称,该文件包含 MapReduce 作业的代码和依赖项。

类型:String
Aliases:Jar
Position:Named
默认值:None
必需:True
Accept pipeline input:False
Accept wildcard characters:False

-JobName

指定 MapReduce 作业的名称。 此参数是可选的。 如果未指定此参数,则使用 ClassName 参数的值

类型:String
Aliases:Name
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-LibJars

指定作业的 LibJar 引用数组。

类型:String[]
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-Profile

指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。

类型:AzureSMProfile
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusFolder

指定包含作业的标准输出和错误输出的文件夹的位置,包括其退出代码和任务日志。

类型:String
Position:Named
默认值:None
必需:False
Accept pipeline input:False
Accept wildcard characters:False