You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2014/06/06 18:17:59 UTC
svn commit: r1600951 -
/hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
Author: hashutosh
Date: Fri Jun 6 16:17:58 2014
New Revision: 1600951
URL: http://svn.apache.org/r1600951
Log:
HIVE-7136 : Allow Hive to read hive scripts from any of the supported file systems in hadoop eco-system (Sumit Kumar via Ashutosh Chauhan)
Modified:
hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
Modified: hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
URL: http://svn.apache.org/viewvc/hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java?rev=1600951&r1=1600950&r2=1600951&view=diff
==============================================================================
--- hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java (original)
+++ hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java Fri Jun 6 16:17:58 2014
@@ -23,8 +23,8 @@ import static org.apache.hadoop.util.Str
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileReader;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
@@ -46,6 +46,8 @@ import org.apache.commons.lang.StringUti
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hive.common.HiveInterruptUtils;
import org.apache.hadoop.hive.common.LogUtils;
import org.apache.hadoop.hive.common.LogUtils.LogInitializationException;
@@ -466,15 +468,19 @@ public class CliDriver {
}
public int processFile(String fileName) throws IOException {
- FileReader fileReader = null;
+ Path path = new Path(fileName);
+ FileSystem fs;
+ if (!path.toUri().isAbsolute()) {
+ fs = FileSystem.getLocal(conf);
+ path = fs.makeQualified(path);
+ } else {
+ fs = FileSystem.get(path.toUri(), conf);
+ }
BufferedReader bufferReader = null;
int rc = 0;
try {
- fileReader = new FileReader(fileName);
- bufferReader = new BufferedReader(fileReader);
+ bufferReader = new BufferedReader(new InputStreamReader(fs.open(path)));
rc = processReader(bufferReader);
- bufferReader.close();
- bufferReader = null;
} finally {
IOUtils.closeStream(bufferReader);
}