我正在尝试将文件从可访问的数据湖复制到blob存储,同时启动群集。
我在Azure文档中使用此命令
hadoop distcp adl://data_lake_store_account.azuredatalakestore.net:443 / myfolder wasb://container_name@storage_account_name.blob.core.windows.net/example/data/gutenberg
现在,如果我尝试自动执行此操作而不是硬编码,我该如何在脚本操作中使用它。具体来说,如何在启动集群时动态获取容器名称和storage_account_name。
答案 0 :(得分: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
并从JSON响应中的core-site
中提取所需的属性,或者仅调用Get configuration
REST API url中的参数core-site
为{configuration Type}
,并从JSON响应中提取所需的属性。
希望它有所帮助。