共用方式為


New-AzureHDInsightMapReduceJobDefinition

定義新的 MapReduce 作業。

注意

本檔中參考的 Cmdlet 用於管理使用服務管理 API 的舊版 Azure 資源。 如需管理 Azure Resource Manager 資源的 Cmdlet,請參閱 Az PowerShell 模組

Syntax

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

Description

此版本的 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 會定義新的 MapReduce 作業,以在 Azure HDInsight 叢集上執行。

範例

範例 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

第一個命令會取得目前訂用帳戶的識別碼,然後將它儲存在$SubId變數中。

第二個命令會將名稱 MyCluster 指派給$Clustername變數。

第三個命令會使用 New-AzureHDInsightMapReduceJobDefinition Cmdlet 來建立 MapReduce 作業定義,然後將它儲存在$WordCountJob變數中。

第四個命令會使用這些 Cmdlet 來執行一連串的作業:

  • Start-AzureHDInsightJob 以在$ClusterName上啟動作業。
  • Wait-AzureHDInsightJob 等候作業完成,並顯示完成進度。
  • Get-AzureHDInsightJobOutput 以取得作業輸出。

參數

-Arguments

指定 Hadoop 作業的引數陣列。 引數會以命令列引數的形式傳遞至每個工作。

Type:String[]
Aliases:Args
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClassName

指定 JAVA Archive (JAR) 檔案中作業類別的名稱。

Type:String
Aliases:Class
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Defines

指定要在作業執行時設定的 Hadoop 組態值。

Type:Hashtable
Aliases:Params
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Files

指定作業所需的 WASB 檔案陣列。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JarFile

指定 JAR 檔案的完整名稱,其中包含 MapReduce 作業的程式碼和相依性。

Type:String
Aliases:Jar
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-JobName

指定 MapReduce 作業的名稱。 這是選擇性參數。 如果您未指定此參數,則會使用 ClassName 參數的值

Type:String
Aliases:Name
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LibJars

指定作業的 LibJar 參考陣列。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Profile

指定此 Cmdlet 從中讀取的 Azure 設定檔。 如果您未指定設定檔,此 Cmdlet 會從本機預設設定檔讀取。

Type:AzureSMProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusFolder

指定資料夾的位置,其中包含作業的標準輸出和錯誤輸出,包括其結束代碼和工作記錄檔。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False