我想在 MS Azure HDInsight 群集上安装 pyobdc python 包,以在 pyspark 作业中使用。 正在关注this ,我尝试通过“脚本操作”来完成此操作。 bash 脚本是:
#!/usr/bin/env bash
sudo /usr/bin/anaconda/bin/conda install pyodbc
在选项中,可以使用 Web 界面(azure 门户)或 CLI 命令行 ( doc ) 提交脚本操作。在 Web 界面中,提交选项被停用,并显示信息“当前集群操作完成后可以提交新脚本操作。”。我不知道这个集群操作是什么。
我尝试使用 CLI 命令行:
$ azure hdinsight script-action create my_cluster_name -g my_resource_group -n ipyodbc -u adl://my_data_lake_store.azuredatalakestore.net/clusters/scripts/script_actions/install_pyodbc.sh -t headnode;workernode
失败的原因是:
info: Executing command hdinsight script-action create /error:
Exception of type 'Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException' was thrown. -error: Error information has been recorded to /home/myself/.azure/azure.err error: hdinsight script-action create command failed
我尝试使用公共(public) uri (dropbox) 更改脚本位置,但遇到了相同的错误。 任何帮助或解决方法将不胜感激! 干杯!
最佳答案
我还收到了不明确的错误“Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException”。
就我而言,这是由于在命令中未包含 conda 的路径,而只是使用 conda
而不是 /usr/bin/anaconda/bin/conda
。
您可以尝试以下两件事来解决您的问题:
- 删除 sudo,您不需要使用它来在集群上执行命令,并且可能会提示输入密码。
- 将 -y 开关添加到命令中,例如
/usr/bin/anaconda/bin/conda install -y pyodbc
这可以防止出现提示
我的假设是,hdinsight script-action create
命令不喜欢被搁置,如果它被卡住,它会返回此无信息的信息,并且从我能找到(或不能)未记录的内容中错误。
关于azure - 使用 Azure CLI 在 HDInsight 上安装外部 python 包 : RdfeResourceHandlerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49538303/