我在一个单独的python脚本中定义了一些助手实用程序。我想将脚本提供给DSX笔记本,这样我就可以在单元格中调用它们,但我不想将脚本直接放入单元格中。
实现这一目标的方法有哪些?
发布于 2017-01-26 17:56:34
如果您可以在公共git存储库中公开代码,可以将代码转换为python包并将其保存在github中。参见这里的示例包:A simple Hello World setuptools package and installing it with pip。
您可以使用以下方法直接从github安装它:
!pip install --user git+https://github.com/public_account/public_repo私有github存储库
对于私有github存储库,还应该可以使用类似的方法,还有一些额外的设置步骤和不同的pip url格式。例如。
在dsx上生成ssh键
! ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ""将以下命令的输出添加到github帐户设置::SSH和GPG键
! cat ~/.ssh/id_rsa.pub接下来,将github ssh键添加到dsx:
! ssh-keyscan github.com >> ~/.ssh/known_hosts的重要性:您应该手动验证导入的github主机密钥是否是真实的。您可以使用以下方式查看导入的密钥:
! cat ~/.ssh/known_hosts您现在可以使用pip安装:
! pip install --user git+ssh://git@github.com/private_account/private_repo警告!,使用上述方法有一些安全考虑。也就是说,任何访问您执行上述命令的星火服务的人都将能够访问git私有存储库。
注:
理想情况下,在未来,我希望看到dsx为编辑项目中的所有文件并将所有项目文件提交给github提供支持。
发布于 2017-01-27 09:42:10
一种选择是使用以下API调用将包从客户端计算机上传到spark帐户:
curl \
-X PUT \
-k \
-u ${tenant_id}:${tenant_secret} \
-H "X-Spark-service-instance-id: ${instance_id}" \
--data-binary "@path_to_local_file" \
${cluster_master_url}/tenant/data/destination_file_name上面的变量可以通过登录到Bluemix控制台并导航到Service凭据来获得。另外,您可以使用命令行cf工具检索此信息。这个Q/A提供了关于cf命令行方法的更多信息。
将包上传到spark服务后,您可以使用:
! pip install --user ${HOME}/data/destination_file_name这个答案归功于Roland Weber。
https://stackoverflow.com/questions/41876516
复制相似问题