hive - oozie-Los datos de salida exceden su límite
(4)
Creo que la ejecución de su consulta de HIVE genera un gran rendimiento y no se redirecciona a ninguna parte.
Sugiero que el resultado de su consulta de selección debe ir a algún lugar en HDFS, para eso necesita redirigir el resultado de su consulta de selección a algunas tablas HIVE externas / internas.
Estoy intentando ejecutar un flujo de trabajo simple ejecutando un script de colmena. Este script de colmena simplemente llama a join (las tablas son muy grandes ); Una vez que finaliza la ejecución del script de colmena, esperaba ver que el estado del flujo de trabajo cambiara de RUNNING a exitoso, pero esto no está sucediendo.
Este es el contenido del registro de flujo de trabajo:
2016-05-31 15:52:34,590 WARN
org.apache.oozie.action.hadoop.HiveActionExecutor:
SERVER[hadoop02] U
SER[scapp]
GROUP[-]
TOKEN[]
APP[wf-sqoop-hive-agreement]
JOB[0000001-160531143657136-oozie-oozi-W]
ACTION[0000001-160531143657136-oozie-oozi-W@hive-query-agreement] Launcher
ERROR, reason: Main class [org.apache.oozie.action.hadoop.HiveMain], exception invoking main(), Output data exceeds its limit [2048] 2016-05-31 15:52:34,591
WARN org.apache.oozie.action.hadoop.HiveActionExecutor:
SERVER[hadoop02]
USER[scapp]
GROUP[-]
TOKEN[]
APP[wf-sqoop-hive-agreement]
JOB[0000001-160531143657136-oozie-oozi-W]
ACTION[0000001-160531143657136-oozie-oozi-W@hive-query-agreement]
Launcher exception: Output data exceeds its limit [2048]
org.apache.oozie.action.hadoop.LauncherException: Output data exceeds its limit [2048]
at org.apache.oozie.action.hadoop.LauncherMapper.getLocalFileContentStr(LauncherMapper.java:415)
at org.apache.oozie.action.hadoop.LauncherMapper.handleActionData(LauncherMapper.java:391)
at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:275) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
@BorderStark No creo que la propiedad signifique su tamaño en MB. El tamaño está en "caracteres", es decir, bytes de acuerdo con la siguiente entrada en el archivo oozie-default.xml.
<property>
<name>oozie.action.max.output.data</name>
<value>2048</value>
<description>
Max size in characters for output data.
</description>
</property>
Está relacionado con la propiedad a continuación, ¿puede aumentar el valor e intentar nuevamente?
oozie-default.xml
<property>
<name>oozie.action.max.output.data</name>
<value>XXXX</value>
</property>
Ambari: agregue esto en la configuración del servicio de Oozie -> oozie.action.max.output.data = 4096
Aumente el valor tanto como sea necesario para obtener los resultados de su consulta. Actualmente los resultados exceden 2048B, intente doblar el valor.
Supongo que es posible que haya incluido el elemento <capture-output>
en su acción de colmena o cualquier otra acción del flujo de trabajo. Intente eliminar ese elemento del flujo de trabajo y ejecútelo nuevamente.
<capture-output>
mantendrá el STDOUT del comando ssh y está limitado a 2KiB [2048 bytes]
Puedes aprender más sobre esto aquí