作者:唐辉
1
CDSW Experiments简介
从CDSW (Cloudera Data Science Workbench) 1.4开始,CDSW中新增了一个Experiments 功能,它允许数据科学家运行批处理实验,跟踪不同版本的代码,并进行参数输入和输出。Experiments 是批量执行的工作负载,将代码、输入参数和输出模板化。此功能还提供轻量级跟踪输出数据的功能,包括文件、指标和元数据用以进行比较。
1.RedHat7.2
2.CDH5.16.1
2
问题描述
当我们在项目中添加一个脚本,这里使用官方示例 add.py
import sys
import cdsw
args = len(sys.argv) - 1
sum = 0
x = 1
while (args >= x):
print ("Argument %i: %s" % (x, sys.argv[x]))
sum = sum + int(sys.argv[x])
x = x + 1
print ("Sum of the numbers is: %i." % sum)
参数如下:
run experiments ,会出现如下错误
3
解决办法
关于上面的问题主要在于run experiments 时,会run /home/cdsw/cdsw-build.sh,这个脚本中会执行pip install sklearn,当我们在离线的环境下,无法安装sklearn 包,就会出现该问题,那么解决该问题有两种办法
3.1
添加定制镜像,引入sklearn的安装包
如何定制镜像可以参考Fayson 之前的文章《如何基于CDSW基础镜像定制Docker》和《如何在CDSW中定制Docker镜像》这里不多描述,定制完成后选择新的镜像并保存
然后重新打开会话,run experiments
发现可以正常pip install sklearn,并成功执行完成
3.2
到会话中注释/home/cdsw/cdsw-build.sh 文件中的pip install sklearn
进入会话中,点击_Terminal access
注释/home/cdsw/cdsw-build.sh 文件中的pip install sklearn
然后再重新执行,也可以正常执行完成
参考文档:
https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_experiments.htm
l