胶水作业开发的理想开发生命周期是什么?我已经能够创建一个胶水作业。作业脚本窗口像IDE一样糟糕,这使我了解了笔记本。我已经启动并运行了笔记本服务器,并且可以利用我的胶水作业所使用的同一S3存储桶。
如果笔记本是编写和开发胶水/火花作业的理想IDE。一旦有了所需脚本,是否有简单的“部署路径”即可使笔记本成为工作?我可以看到两个不同的工作流程
复制和粘贴-不优雅但简单,请从笔记本中复制代码并将其粘贴到新的粘贴作业定义中。您不由自主地注意到笔记本中的代码不会与胶粘作业不同步。
S3作为笔记本存储-我什至不知道这是否可行,但我在配置中看到Zeppelin可以将笔记本保存到S3,这是您要做的,将Zeppelin和Glue Job指向笔记本。 S3位置相同
还有其他方法可以完成所有这些操作吗?我还想利用Git对作业文件进行版本控制,因此,如果在工作流中构建某种方式也很好。
答案 0 :(得分:1)
您可以将笔记本解析为python脚本。这是我一直在使用的script。
这是我当前正在使用的工作流程: 当您将分支合并到master分支时,它会触发Jenkins管道,该管道将在git repo中克隆代码,将笔记本解析为正确的python代码,构建环境,运行一些测试,如果一切成功,则将脚本上传到AWS Glue的脚本存储桶,并可以选择创建一个作业。创建作业后,您只需覆盖存储桶中的脚本即可更新代码。
答案 1 :(得分:1)
您可以设置一个 AWS Code Pipeline,将代码放置到 S3 中的指定位置:
buildspec.yml
如下:artifacts:
files:
- "glue_scripts/**/*"