我是google的Datalab的新用户。我正在评估将Datalab用于生产数据管道的可能性。这意味着我希望能够作为python程序运行我的数据处理程序,而不是作为一个交互式笔记本。Datalab似乎是为交互式jupyter笔记本的使用而设计的。但我记得在注册过程中看到了一个屏幕,显示用户可以运行他们的整个数据管道。但是,所有的文档只涉及交互式数据分析,而没有提到方案数据分析。我还想在cron作业中定期运行脚本。因此,我需要两件事: 1)如何在Datalab上运行python脚本? 2)如何在cron作业中定期运行它?
如果有人能弄清楚一点,那将是很有帮助的。提前谢谢!
发布于 2016-03-11 07:51:11
这并不是因为某些事情在技术上是可能的,而是成为一个好主意。
正如@Anthonios提到的那样:
不可能通过支持的方法使用额外的python模块自定义datalab。
通过合并其他(Google)云“构建块”,您的需求可以很容易地实现。
示例1,对于流数据:
示例2,计划的批处理:
在绘制云体系结构时没有单一的解决方案,这完全取决于您的用例。
但是您当前的架构(尽管可能)似乎是在滥用DataLab .除非你有很强的理由这么做.
发布于 2016-03-10 14:23:58
正如在这堆栈溢出文章中回答的那样,不可能通过支持的方法定制带有额外python模块的datalab。我的建议是在datalab之外的另一个系统中安装python脚本/cron作业,就像您想要运行的与datalab无关的任何python脚本一样。
非常长的边注:如果您必须在datalab容器中运行该程序,因为您希望使用datalab特定的gcp库,那么我将提出以下不受支持(但很有创意)的设置,这个设置对我是有效的。但是,它涉及运行本地datalab容器和云datalab容器。
Dockerfile.in文件中$REPO_DIR/containers/datalab/Dockerfile.in
# Add a custom script which calls a custom program (python file)
ADD mycustomprogram.sh /usr/local/bin/mycustomprogram.sh
# Allow the script to be executed
RUN chmod +x /usr/local/bin/mycustomprogram.sh$REPO_DIR/containers/datalab/run.sh中的$REPO_DIR/containers/datalab/run.sh变量以指向自定义脚本现在,在datalab本地容器中运行了一个自定义脚本。
通过本地设置,您仍然可以使用主机上的任何git客户端提交同一个Google托管的git存储库。gcloud有一个简单的提示,它将引导您完成克隆Google托管的git存储库的过程。
只需运行gcloud init。
登录后,您应该看到以下提示,询问您是否要使用Google托管的存储库:
Do you want to use Google's source hosting (Y/n)?重要注意:这只是暂时的工作,而我们等待更多的datalab定制选项。为了安装定制的python程序,我更喜欢编辑云Dockerfile.in文件,而不是部署本地datalab实例。
https://stackoverflow.com/questions/35906437
复制相似问题