Note that there may be differences in the runtime environment of Hadoop server nodes and the machine running the Hive client (because of different jvm versions or different software libraries). This can cause unexpected behavior/errors while running in local mode. Also note that local mode execution is done in a separate, child jvm (of the Hive client). If the user so wishes, the maximum amount of memory for this child jvm can be controlled via the option
hive.mapred.local.mem. By default, it's set to zero, in which case Hive lets Hadoop determine the default memory limits of the child jvm.
Hive uses log4j for logging. By default logs are not emitted to the console by the CLI. The default logging level is
WARN for Hive releases prior to 0.13.0. Starting with Hive 0.13.0, the default logging level is
Another option for logging is TimeBasedRollingPolicy (applicable for Hive 0Hive 1.151.0 and 0 and above, HIVE-9001) by providing DAILY option as shown below:
Hive also stores query logs on a per Hive session basis in
/tmp/<user.name>/, but can be configured in hive-site.xml with the
hive.querylog.location property. Starting with Hive 1.1.0, EXPLAIN EXTENDED output for queries can be logged at the INFO level by setting the
hive.log.explain.output property to true.
Logging during Hive execution on a Hadoop cluster is controlled by Hadoop configuration. Usually Hadoop will produce one log file per map and reduce task stored on the cluster machine(s) where the task was executed. The log files can be obtained by clicking through to the Task Details page from the Hadoop JobTracker Web UI.