云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

CDN_沈阳服务器_学生机

小七 141 0

作为一个数据科学家或数据工程师,你可能不太熟悉Docker。至少这是我的开始。我知道集装箱化应用程序的吸引人的概念,但在开发sapdataintelligence上的管道或操作符时,当我拥有一个可以使用的现有docker映像时,我总是很高兴。随着时间的推移,我要求离开我的舒适区,学习更多关于使用Docker的知识。最终,我不得不意识到,直接与docker合作并不像预期的那么难,学习曲线也相当短暂和陡峭,大数据怎么学,而不是费尽心思的长。

在这个博客中,我从SAP数据智能的角度对docker做了一个简短的介绍。接下来将介绍如何使用pip添加python包,以及如果需要另一个包管理器,需要做什么。最后,我深入探讨了在Dockerfile中必须添加更复杂的安装任务时所面临的挑战。为了您的神经和指甲,在SAP Data Intelligence实例上构建映像之前,应该以交互方式完成和测试此操作。

通常,您可以使用任何docker映像在DI上运行。您只需确保它被正确标记,以便管道调度器可以选择适当的docker容器来提供操作员所需的库。

您可能会遇到使用具有现有docker映像都不符合的标记的操作员的挑战,例如"flowagent"和"python36"。然后,您

将管道的一部分分组,以便在不同的docker容器中运行它们,并注意数据量限制,或者使用必要的软件包增强其中一个映像

出于性能原因,您可以考虑在一个容器中运行管道,然后将其扩展到多个容器。

使用pip增强现有Docker映像

SAP与Suse达成了企业支持协议,并将SLES用作大多数运营商的基础。例如,如果您喜欢添加像"pandas"这样的python包,那么您可以选择带有引用字符"$"

的基本图像,或者直接从带有引用字符"§"

的存储库中提取图像,后者可能会丢失一些可能在中添加到Dockerfile的增强功能com.sap.sles网站.base。用这个方法你可以还继承从SAP Data Hub/SAP Data Intelligence(内部部署)外部构建并推送到本地Docker注册表的非标准映像。当仅允许使用根据公司策略加固的受信任映像时,通常需要这样做。语法如下:从§/:

使用SAP Data Intelligence 3.0,您需要运行容器而不是"root"用户。这意味着您必须将组和用户添加到每个docker/容器:

此外,我建议相应地设置一些环境变量。特别是添加用户"bin/"目录,以防二进制文件也安装在那里。

最后,软件企业管理,您的新Docker文件可能会如下所示:

不要忘记将选项"-user"添加到pip命令,以确保软件包仅使用用户权限安装。

非常重要的是,您不仅要使用新添加的包还引用了基本映像的标记。目前(sapdi2.6)没有继承过程。在我们的特殊情况下,它会像

默认系统性红斑狼疮蟒蛇36龙卷风-5.0.2熊猫scikit学习

使用其他软件包管理器增强现有Docker映像

增强SAP提供和维护的imagages有其局限性,因为您只能使用"pip"安装python软件包。如果需要使用其他软件包管理器,如ubuntu的apt-get、suse的zypper等,那么您必须返回到公开可用的图像上。

幸运的是,已经有一个包含基本软件包的图像,可以根据您的喜好进行增强。它可以在Modeler->repository/dockerfiles文件夹中找到,路径:

,定义:

,标签

opensuse蟒蛇36龙卷风-5.0.2sapgolang–1.12.1-料仓zypper

此基本映像使您能够运行包管理器"zypper",以便在映像中安装更多的包,例如:

交互式创建Dockerfiles

如果您需要构建更复杂的Dockerfiles,而不仅仅是使用pip和zypper添加几个简单包,则强烈建议您在添加行之前先在本地执行此操作SAP Data Intelligence实例上的Dockerfile,除非您是出色的OS管理员和Docker专家。如果您属于更普通的一类正在发展的数据科学家或数据工程师,那么快速试错方法可能更合适。这意味着您需要先在本地安装Docker,

WindowsMacOs

并且可能会阅读关于Dockerfiles中使用的命令数量有限的信息。在我看来,Dockerfile只是一个安装批处理脚本,它处理概述的命令。在浩瀚的互联网上,你会发现许多很好的Docker入门页面。

在下面的文章中,我接受了一位气象行业客户的请求,使用Python编写操作符所需的特殊库。我的第一次尝试只是在我最喜欢的Docker图像中添加必要的行($com.sap.sles网站我的脸被压扁了。简洁的错误消息告诉我构建失败了。

所以我开始在本地用基本图像*opensuse搜索启示/跳跃:15.0*以及Dockerfile的基本扩展$com.sap.opensuse.哥朗.兹珀".

我创建了一个包含Dockerfile的目录"$com.sap.opensuse.golang.zypper.Dockerfile文件"然后呢‘sapgolang.tar.gz公司"因为后者也是需要的。

然后我打开了一个终端,转到上面的文件夹,用

开始一个构建过程,过了一段时间,我用

命令得到了一个我的图像列表,企业开发软件,我可以看到这是一个堆叠的构建过程,其中产生了很多子图像。

如果前面提到的新行是为了安装附加存储库和eccodes包而添加的,淘客易,那么图像构建要快得多,但最终也失败了。

但是现在在本地有了图像,我可以使用shell以交互方式运行docker容器,并可以一步一步地测试所有命令。

对于分步安装,返利机器人是真的吗,我首先需要以交互方式运行容器

有了它,我就在容器中,可以输入命令需要新的Docker映像。

->–无问题

这是一个交互式命令,默认值没有任何帮助。通过一些互联网研究,我通过添加选项–gpg auto import keys获得了答案。

在添加选项"`–non interactive"`时运行。

开始。现在我已经测试了所有的命令,并且Dockerfile在添加以下3行时运行得毫无怨言