使用 Scala 进行编程AmazonGlue 附 ETL 脚本 - Amazon连接词
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Scala 进行编程AmazonGlue 附 ETL 脚本

您可以使用AmazonGlue 控制台,并根据需要对其进行修改,然后将其分配给作业。或者,您可以从头编写自己的程序。有关更多信息,请参阅 在 Amazon Glue 中添加作业。Amazon然后,Glue 会在服务器上编译您的 Scala 程序,再运行关联的作业。

为了确保您的程序编译时不会出现错误并可按预期运行,请务必在 REPL(读取-求值-输出-循环)或 Apache Zeppelin Notebook 的开发终端节点中加载程序并在此处进行测试,然后再在作业中运行。由于编译过程在服务器上进行,因此您无法清楚地看到服务器上出现的任何问题。

在 Zeppelin Notebook 中的开发终端节点上测试 Scala ETL 程序

若要测试 Scala 程序在AmazonGlue 开发终端节点,设置开发终端节点,如中所述。管理笔记本

接下来,将其连接到在您的计算机上本地运行或在 Amazon EC2 笔记本服务器上远程运行的 Apache Zeppelin 笔记本。要安装 Zeppelin Notebook 的本地版本,请按照教程:本地 Zeppelin Notebook中的说明操作。

在您的笔记本上运行 Scala 代码与运行 PySpark 代码之间的唯一差别在于,在笔记本上每个段落的开头必须为:

%spark

这将防止 Notebook 服务器默认使用 Spark 解释器的 PySpark 风格。

在 Scala REPL 中测试 Scala ETL 程序

您可以使用开发终端节点上的 Scala 程序,使用AmazonGlue Scala REPL。按照教程:使用 SageMaker 笔记本 教程:使用 REPL Shell中的说明操作,除了 SSH-to-REPL 命令末尾,将 -t gluepyspark 替换为 -t glue-spark-shell。这将调用AmazonGlue Scala REPL。

要在完成时关闭 REPL,请键入 sys.exit