我想在MS Azure HDInsight群集上安装pyobdc python包,以便在pyspark作业中使用。继this之后,我尝试用“脚本动作”完成这项工作。 bash脚本是:
#!/usr/bin/env bash
sudo /usr/bin/anaconda/bin/conda install pyodbc
在选项中,可以使用Web界面(azure portal)或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:执行命令hdinsight script-action create / error: 抛出了类型为“Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException”的异常。 -error:错误信息已记录到/home/myself/.azure/azure.err错误:hdinsight script-action create命令失败
我试图用公共uri(dropbox)更改脚本位置,我得到了同样的错误。任何帮助或解决方法将不胜感激!干杯!
我也得到了模糊的错误'Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException'。
在我的情况下,这是由于在命令中不包括conda的路径,只是使用conda
而不是/usr/bin/anaconda/bin/conda
。
您可能尝试解决两个问题:
/usr/bin/anaconda/bin/conda install -y pyodbc
这可以防止提示我的假设是hdinsight script-action create
命令不喜欢被阻止,如果它被卡住,它会返回这种无法提供的信息以及我能找到(或不能)未记录的错误。