你当前正在访问 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 |