2017-04-03 50 views
0

我試圖從一個可訪問的數據湖複製文件到Blob存儲,同時啓動羣集。azure HDInsight腳本動作

我使用Azure的從文檔

的Hadoop DistCp使用ADL命令://data_lake_store_account.azuredatalakestore.net:443/MyFolder文件wasb://[email protected]_account_name.blob.core.windows.net/example/data/gutenberg

現在,如果我試圖自動化而不是硬編碼,我該如何在腳本操作中使用它。具體如何在啓動集羣時動態獲取關聯的容器名稱和storage_account_name。

回答

0

首先如下,

一個腳本操作是一個簡單的bash腳本,你提供一個URI來,和參數。該腳本在HDInsight羣集中的節點上運行。

所以你只需要參考官方教程Script action development with HDInsight來編寫腳本動作並知道如何運行它。或者您可以調用REST API Run Script Actions on a running cluster (Linux cluster only)自動運行它。

對於如何動態獲取容器名稱&存儲賬戶,任何語言的方式是調用REST API Get configurations和你從core-site在JSON響應想提取屬性,或者只是調用Get configuration REST API在url中使用參數core-site作爲{configuration Type},並從JSON響應中提取所需的屬性。

希望它有幫助。

+0

謝謝彼得。這是我正在嘗試的。我使用門戶創建了一個集羣。現在,當我上傳要在頭節點上運行的shell文件時,腳本操作失敗。該腳本的目標是從數據湖下載一個tar文件。所以我想測試一下,寫了一個單行shell文件(mkdir test),即使這個腳本失敗了。我在這裏做錯了什麼? – kmk1

+0

@ kmk1我想你是在談論這個線程http://stackoverflow.com/questions/43142391/script-action-to-install-spark-job-server-on-hdinsight-head-node。它似乎是你的。 –