我在 java 应用程序中使用 Pig。目前我有一个线程每 15 分钟运行一次 pig 查询。每次运行后,我的临时文件夹中都会留下 MR Job Jar,在我的例子中是/tmp。
代码的结构方式是在启动时创建 1 个 PigServer 实例。然后在循环中,我使用不同的分区重新注册查询,并通过 openIterator 调用执行查询。在线程关闭之前,PigServer 不会关闭。
所以我的问题是我需要执行一个调用来清理 jar 吗?或者我是否需要在每次执行时关闭 PigServer?或者我应该在查询完成后自己清理FS?
最佳答案
看来您确实需要在每次使用后创建和销毁 PigServer 对象来清理 tmp 空间中的 pig* 目录。然而,这似乎并没有清理作业 jar 。所以我必须建立自己的清理功能来处理这个问题。
关于java - PigServer 在本地文件系统上留下作业 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711419/