笔者在此之前一直想找到container中运行的sql命令,相信有不少小伙伴和笔者有着相同的疑惑。
偶然间发现了这个参数,可以借助此参数快速找到sql文件。
命令如下:
hdfs dfs -cat /ats/XXX/application_156000000000_0000*/*/* \
|grep mapreduce.workflow.name \
|awk 'BEGIN{RS="\",\""}{$1=$1;print $0}' \
|grep mapreduce.workflow.name \
|grep -v "select 1"
解释下命令,先找到 YARN时间轴服务实体组FS存储的活动目录[yarn.timeline-service.entity-group-fs-store.active-dir]
然后根据具体的appicationID找到文件夹位置。
参数mapreduce.workflow.name 对应值即为sql命令。这一行很长,使用awk切分过滤一下。最后输出结果。
在hive里写个sql 实验一下: