我在 Java 中创建一个可以在 Hive 查询中调用的 UDF,在 UDF 中我放入 System.out.prinln(msg) 希望在控制台中输出一些东西。它在我的本地工作场所按预期工作,但是当部署到亚马逊 EMR 时,stderr 日志文件不显示来自我的 UDF 函数的任何输出消息。在哪里查找包含我的消息输出的文件?
问问题
2247 次
1 回答
2
如果 Hive 将查询提交给 M/R,那么任何输出都将在您提交的作业控制台输出中捕获。请参阅hadoop mapreduce 框架将我的 System.out.print() 语句发送到哪里?(标准输出)。对于 M/R 的 EMR 特定风格,请参阅查看日志文件:
Amazon EMR 不会自动将日志文件存档到 Amazon S3。您必须在启动集群时进行配置...
当 Amazon EMR 配置为将日志文件存档到 Amazon S3 时,它将文件存储在您指定的 S3 位置的 /JobFlowId/ 文件夹中,其中 JobFlowId 是集群标识符。
请注意,Hive 也可以在本地运行查询。
于 2013-09-04T13:36:39.580 回答