你当前正在访问 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 的 Azure 资源管理器 (ARM) 资源的 PowerShell 模块。
语法
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[] |
别名: | Args |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ClassName
指定 Java 存档 (JAR) 文件中作业类的名称。
类型: | String |
别名: | Class |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Defines
指定要在作业运行时设置的 Hadoop 配置值。
类型: | Hashtable |
别名: | Params |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Files
指定作业所需的 WASB 文件的数组。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-JarFile
指定 JAR 文件的完全限定名称,该文件包含 MapReduce 作业的代码和依赖项。
类型: | String |
别名: | Jar |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-JobName
指定 MapReduce 作业的名称。 此参数是可选的。 如果未指定此参数,则使用 ClassName 参数的值。
类型: | String |
别名: | Name |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LibJars
指定作业的 LibJar 引用数组。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Profile
指定此 cmdlet 从中读取的 Azure 配置文件。 如果未指定配置文件,此 cmdlet 将从本地默认配置文件中读取。
类型: | AzureSMProfile |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-StatusFolder
指定包含作业的标准输出和错误输出的文件夹的位置,包括其退出代码和任务日志。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |