既然OpenShift Online V2已经宣布终止服务,我希望将我的Python应用程序迁移到OpenShift Online
V3(又名OpenShift NextGen)。熊猫是必需项(列于中requirements.txt
)
在v2中安装pandas已经很简单了,但是V3不允许在构建过程中进行手动交互(或者是吗?)。
当我尝试构建我的应用程序时,构建过程将在一个小时后停止。pip
已下载并安装的内容,requirements.txt
并且正在setup.py
为所选软件包运行。日志文件的和是
Running setup.py install for numpy
Running setup.py install for Bottleneck
Running setup.py install for numexpr
Running setup.py install for pandas
然后该过程停止,没有任何错误消息。
有谁知道如何在OpenShift V3上构建需要熊猫的Python应用程序?
这将是两件事之一。
编译Pandas都是一个巨大的内存消耗,可能是由于编译器遇到了一些病理情况造成的。或者,此时生成的映像的大小超过了内部限制,因此耗尽了分配的磁盘空间。
如果是内存,则需要增加分配给构建容器的内存。在线默认情况下,这是512Mi。
要增加限制,您需要从Web控制台或使用命令行从YAML / JSON编辑构建配置oc edit
。
对于YAML,您需要添加以下内容:
resources:
limits:
memory: 1Gi
这是在设置字段:
$ oc explain bc.spec.resources.limits FIELD: limits <object>
DESCRIPTION:
Limits describes the maximum amount of compute resources allowed. More
info: http://kubernetes.io/docs/user-guide/compute-resources/
最大值为1Gi。似乎增加此值确实可以完成构建,而将其增加到768Mi还不够。
请注意,这会占用compute-resources- timebound
运行时的配额之外的内存,并且由于它是在构建过程中全部使用的,因此您尝试同时执行的其他操作可能会受阻。
FWIW,本地生成的图像大小(不在Online中)仅产生:
172.30.1.1:5000/mysite/osv3test latest f323d9b036f6 About an hour ago 910MB
因此,除非在清理之前使用的中间空间是一个问题,否则这不是问题。
因此,增加用于构建的内存似乎是答案。
问题内容: 我有一个DataFrame,说一个波动率表面,索引为时间,列为行权。如何进行二维插值?我可以,但是我该如何处理?我知道我们可以,但是甚至不是线性插值。有没有办法插入我们自己的方法进行插值? 问题答案: 您可以用来获取线性插值。 对于更复杂的事情,您需要推出自己的函数来处理一个对象并根据需要填充值并返回另一个对象。
处理后的文件不干净。csv 有了密码 我把输出弄干净了。csv 在引用所有内容的地方,尽管我特别将列的类型设置为浮动,并将其作为参数设置为,但我要求仅引用非数字字段。 如何引用字符串并保持数字不被引用? 许多讨论(例如:1、2、3、4)建议应该可以。 使用和,均来自。 议论 瓦伦蒂诺的回答指出了问题所在,但我知道除了 避免引入少量的和。
问题内容: 当我对数据框中的单个元素进行比较时出现错误,但我不明白为什么。 我有一个数据框df,其中包含许多客户的时间序列数据,其中包含一些空值: 在我的脚本中,该行 生成一个错误: 但是,如果我在脚本行上放置了一个断点,并且在脚本停止时我将其输入到控制台中: 输出为: 如果我允许脚本从这一点继续执行,则会立即生成错误。 如果布尔表达式可以求值并具有值,为什么它在if表达式中生成错误?这对我来说毫
问题内容: 我想通过每行的功能来过滤行,例如 或者再举一个更复杂,人为的例子, 我该怎么办? 问题答案: 您可以使用来执行此操作,该功能会沿给定轴应用功能,
通常在Azure/AWS上的数据块上,为了读取Azure Blob/S3上存储的文件,我会挂载bucket或Blob存储,然后执行以下操作: 如果使用火花 如果直接使用panda,请将/dbfs添加到路径: 我尝试在GCP的Databricks托管版本上做完全相同的事情,虽然我成功地挂载了我的bucket并使用Spark读取了它,但我无法直接使用Pandas进行读取,添加/dbfs不起作用,并且我
问题内容: 我有一个熊猫数据框。我想“落后”我的专栏之一。例如,这意味着将整个列“ gdp”上移一位,然后删除其余行底部的所有多余数据,以使所有列的长度再次相等。 无论如何要这样做? 问题答案: