Return-Path: X-Original-To: apmail-hive-commits-archive@www.apache.org Delivered-To: apmail-hive-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1ACA018B07 for ; Mon, 28 Sep 2015 19:10:06 +0000 (UTC) Received: (qmail 97495 invoked by uid 500); 28 Sep 2015 19:10:04 -0000 Delivered-To: apmail-hive-commits-archive@hive.apache.org Received: (qmail 97349 invoked by uid 500); 28 Sep 2015 19:10:04 -0000 Mailing-List: contact commits-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hive-dev@hive.apache.org Delivered-To: mailing list commits@hive.apache.org Received: (qmail 96533 invoked by uid 99); 28 Sep 2015 19:10:04 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 Sep 2015 19:10:04 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A0815E0567; Mon, 28 Sep 2015 19:10:03 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sershe@apache.org To: commits@hive.apache.org Date: Mon, 28 Sep 2015 19:10:18 -0000 Message-Id: In-Reply-To: <533decb8e0e44ab9b9c45957ea71aceb@git.apache.org> References: <533decb8e0e44ab9b9c45957ea71aceb@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [16/43] hive git commit: HIVE-11280: Support executing script file from hdfs in new CLI [Beeline-CLI branch](Ferdinand Xu, reviewed by Xuefu Zhang) HIVE-11280: Support executing script file from hdfs in new CLI [Beeline-CLI branch](Ferdinand Xu, reviewed by Xuefu Zhang) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/804f20a4 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/804f20a4 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/804f20a4 Branch: refs/heads/llap Commit: 804f20a4dd7d77aced7c4973930ce453f71641fb Parents: e6adedc Author: Ferdinand Xu Authored: Sun Jul 19 21:10:29 2015 -0400 Committer: Ferdinand Xu Committed: Sun Jul 19 21:10:29 2015 -0400 ---------------------------------------------------------------------- .../java/org/apache/hive/beeline/BeeLine.java | 23 +++++++++++++++++--- .../apache/hive/beeline/cli/TestHiveCli.java | 3 ++- 2 files changed, 22 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/804f20a4/beeline/src/java/org/apache/hive/beeline/BeeLine.java ---------------------------------------------------------------------- diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java index d2b8590..c47b9fe 100644 --- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java +++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java @@ -22,6 +22,7 @@ */ package org.apache.hive.beeline; +import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.Closeable; @@ -30,6 +31,7 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.PrintStream; import java.io.SequenceInputStream; import java.lang.reflect.InvocationTargetException; @@ -87,6 +89,8 @@ import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.io.IOUtils; import org.apache.hive.beeline.cli.CliOptionsProcessor; @@ -889,9 +893,22 @@ public class BeeLine implements Closeable { } private int executeFile(String fileName) { - FileInputStream initStream = null; + InputStream initStream = null; try { - initStream = new FileInputStream(fileName); + if (!isBeeLine) { + org.apache.hadoop.fs.Path path = new org.apache.hadoop.fs.Path(fileName); + FileSystem fs; + HiveConf conf = getCommands().getHiveConf(true); + if (!path.toUri().isAbsolute()) { + fs = FileSystem.getLocal(conf); + path = fs.makeQualified(path); + } else { + fs = FileSystem.get(path.toUri(), conf); + } + initStream = fs.open(path); + } else { + initStream = new FileInputStream(fileName); + } return execute(getConsoleReader(initStream), !getOpts().getForce()); } catch (Throwable t) { handleException(t); @@ -973,7 +990,7 @@ public class BeeLine implements Closeable { handleException(e); } - if (inputStream instanceof FileInputStream) { + if (inputStream instanceof FileInputStream || inputStream instanceof FSDataInputStream) { // from script.. no need to load history and no need of completer, either return consoleReader; } http://git-wip-us.apache.org/repos/asf/hive/blob/804f20a4/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java ---------------------------------------------------------------------- diff --git a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java index 542f1ee..c465eac 100644 --- a/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java +++ b/beeline/src/test/org/apache/hive/beeline/cli/TestHiveCli.java @@ -79,7 +79,8 @@ public class TestHiveCli { executeCMD(options, CMD, retCode); String output = os.toString(); LOG.debug(output); - Assert.assertTrue("The expected keyword " + keywords + "doesn't occur in the output: " + output, + Assert.assertTrue( + "The expected keyword \"" + keywords + "\" doesn't occur in the output: " + output, output.contains(keywords)); }