首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在DSX中提供用户功能/模块

如何在DSX中提供用户功能/模块
EN

Stack Overflow用户
提问于 2017-01-26 15:07:30
回答 2查看 294关注 0票数 3

我在一个单独的python脚本中定义了一些助手实用程序。我想将脚本提供给DSX笔记本,这样我就可以在单元格中调用它们,但我不想将脚本直接放入单元格中。

实现这一目标的方法有哪些?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-26 17:56:34

如果您可以在公共git存储库中公开代码,可以将代码转换为python包并将其保存在github中。参见这里的示例包:A simple Hello World setuptools package and installing it with pip

您可以使用以下方法直接从github安装它:

代码语言:javascript
复制
!pip install --user git+https://github.com/public_account/public_repo

私有github存储库

对于私有github存储库,还应该可以使用类似的方法,还有一些额外的设置步骤和不同的pip url格式。例如。

在dsx上生成ssh键

代码语言:javascript
复制
! ssh-keygen -b 2048 -t rsa -f ~/.ssh/id_rsa -q -N ""

将以下命令的输出添加到github帐户设置::SSH和GPG键

代码语言:javascript
复制
! cat ~/.ssh/id_rsa.pub

接下来,将github ssh键添加到dsx:

代码语言:javascript
复制
! ssh-keyscan github.com >> ~/.ssh/known_hosts

的重要性:您应该手动验证导入的github主机密钥是否是真实的。您可以使用以下方式查看导入的密钥:

代码语言:javascript
复制
! cat ~/.ssh/known_hosts

您现在可以使用pip安装:

代码语言:javascript
复制
! pip install --user git+ssh://git@github.com/private_account/private_repo

警告!,使用上述方法有一些安全考虑。也就是说,任何访问您执行上述命令的星火服务的人都将能够访问git私有存储库。

注:

理想情况下,在未来,我希望看到dsx为编辑项目中的所有文件并将所有项目文件提交给github提供支持。

票数 3
EN

Stack Overflow用户

发布于 2017-01-27 09:42:10

一种选择是使用以下API调用将包从客户端计算机上传到spark帐户:

代码语言:javascript
复制
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服务后,您可以使用:

代码语言:javascript
复制
! pip install --user ${HOME}/data/destination_file_name

这个答案归功于Roland Weber

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41876516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档