shell - 如何在 shell 脚本中知道 spark 作业是否成功完成?
问题描述
我正在使用 shell 脚本提交我的 spark 作业,我想知道我的 spark 作业是否成功完成。如果 spark 作业成功完成,那么我想对 HDFS 中作业写入的数据进行一些操作,否则退出 shell 脚本。
解决方案
使用 Spark REST API,您可以获得提交的 Spark 应用程序的状态。
摘自 Spark 文档:
在 API 中,应用程序由其应用程序 ID [app-id] 引用。在 YARN 上运行时,每个应用程序可能有多次尝试,但只有集群模式的应用程序有尝试 ID,客户端模式的应用程序没有尝试 ID。YARN 集群模式下的应用程序可以通过它们的 [attempt-id] 来识别。在下面列出的 API 中,在 YARN 集群模式下运行时,[app-id] 实际上是 [base-app-id]/[attempt-id],其中 [base-app-id] 是 YARN 应用程序 ID。
对于正在运行的应用程序:http://localhost:4040/api/v1 和历史服务器:http://:18080/api/v1
?status=[active|complete|pending|failed] 仅列出状态中的阶段。
推荐阅读
- php - 'mysql: not found', trying to connect a laravel, mysql and nginx in docker container
- cmake - How to export CMake targets with dependant include directories?
- python - How to update the array value and perform the same operation for the new values
- string - 查找字符串中出现的字符数(mips 32)
- python - Django, have model to be related to many instances of itself
- biopython - 使用 biobython SeqIO 模块编写和保存 GenBank 文件
- r - summarise(nAlive = n()) 中需要的其他信息?
- python-3.x - SConstruct - SyntaxError:无效的语法
- python - odoo 13用户设置中的双重设置?
- python - Kivy 文本输入自动滚动到文本顶部