共用方式為


Invoke-AzureRmHDInsightHiveJob

將Hive查詢提交至 HDInsight 叢集,並在一個作業中擷取查詢結果。

警告

自 2024 年 2 月 29 日起,AzureRM PowerShell 模組已正式淘汰。 建議使用者從 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>]

Description

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