diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java index 27b16735500697e6d1883e5763cdb9cad1ec948c..57b6c671d7ec8dc9d90977470499a6af303baac3 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java @@ -52,6 +52,7 @@ import org.apache.hadoop.io.WritableComparable; import org.apache.hadoop.io.WritableComparator; import org.apache.hadoop.mapred.JobConf; +import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.util.PriorityQueue; import org.apache.hive.common.util.ReflectionUtil; @@ -196,6 +197,12 @@ public void initializeMapredLocalWork(MapJoinDesc mjConf, Configuration hconf, FetchWork fetchWork = entry.getValue(); JobConf jobClone = new JobConf(hconf); + if (UserGroupInformation.isSecurityEnabled()) { + String hadoopAuthToken = System.getenv(UserGroupInformation.HADOOP_TOKEN_FILE_LOCATION); + if(hadoopAuthToken != null){ + jobClone.set("mapreduce.job.credentials.binary", hadoopAuthToken); + } + } TableScanOperator ts = (TableScanOperator)aliasToWork.get(alias); // push down projections