[
https://issues.apache.org/jira/browse/HIVE-14342?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Naveen Gangam updated HIVE-14342:
---------------------------------
Description:
{code}
use default;
create table clitest (key int, name String, value String);
insert into table clitest values
(1,"TRUE","1"),(2,"TRUE","1"),(3,"TRUE","1"),(4,"TRUE","1"),(5,"FALSE","0"),(6,"FALSE","0"),(7,"FALSE","0");
{code}
then run a select query
{code}
# cat /tmp/select.sql
set hive.execution.engine=mr;
select key,name,value
from clitest
where value="1" limit 1;
{code}
Then run beeline via a remote shell, for example
{code}
$ ssh -l root <remotehost.domain.com> "sudo -u hive beeline -u
jdbc:hive2://localhost:10000 -n hive -p hive --silent=true --outputformat=csv2
-f /tmp/select.sql"
root@<remoteHost.domain.com>'s password:
16/07/12 14:59:22 WARN mapreduce.TableMapReduceUtil: The hbase-prefix-tree
module jar containing PrefixTreeCodec is not present. Continuing without it.
nullkey,name,value
1,TRUE,1
null
$
{code}
In older releases that the output is as follows
{code}
$ ssh -l root <remoteHost.domain.com> "sudo -u hive beeline -u
jdbc:hive2://localhost:10000 -n hive -p hive --silent=true --outputformat=csv2
-f /tmp/run.sql"
Are you sure you want to continue connecting (yes/no)? yes
root@<remoteHost.domain.com>'s password:
16/07/12 14:57:55 WARN mapreduce.TableMapReduceUtil: The hbase-prefix-tree
module jar containing PrefixTreeCodec is not present. Continuing without it.
key,name,value
1,TRUE,1
$
{code}
The output contains nulls instead of blank lines. This is due to the use of
-Djline.terminal=jline.UnsupportedTerminal introduced in HIVE-6758 to be able
to run beeline as a background process. But this is the unfortunate side effect
of that fix.
Running beeline in background also produces garbled output.
{code}
# beeline -u "jdbc:hive2://localhost:10000" -n hive -p hive --silent=true
--outputformat=csv2 --showHeader=false -f /tmp/run.sql 2>&1 > /tmp/beeline.txt &
# cat /tmp/beeline.txt
null1,TRUE,1
#
{code}
So I think the use of jline.UnsupportedTerminal should be documented but not
used automatically by beeline under the covers.
was:
{code}
use default;
create table clitest (key int, name String, value String);
insert into table clitest values
(1,"TRUE","1"),(2,"TRUE","1"),(3,"TRUE","1"),(4,"TRUE","1"),(5,"FALSE","0"),(6,"FALSE","0"),(7,"FALSE","0");
{code}
then run a select query
{code}
# cat /tmp/select.sql
set hive.execution.engine=mr;
select key,name,value
from clitest
where value="1" limit 1;
{code}
Then run beeline via a remote shell, for example
$ ssh -l root <remotehost.domain.com> "sudo -u hive beeline -u
jdbc:hive2://localhost:10000 -n hive -p hive --silent=true --outputformat=csv2
-f /tmp/select.sql"
root@<remoteHost.domain.com>'s password:
16/07/12 14:59:22 WARN mapreduce.TableMapReduceUtil: The hbase-prefix-tree
module jar containing PrefixTreeCodec is not present. Continuing without it.
nullkey,name,value
1,TRUE,1
null
$
{code}
In older releases that the output is as follows
{code}
$ ssh -l root <remoteHost.domain.com> "sudo -u hive beeline -u
jdbc:hive2://localhost:10000 -n hive -p hive --silent=true --outputformat=csv2
-f /tmp/run.sql"
Are you sure you want to continue connecting (yes/no)? yes
root@<remoteHost.domain.com>'s password:
16/07/12 14:57:55 WARN mapreduce.TableMapReduceUtil: The hbase-prefix-tree
module jar containing PrefixTreeCodec is not present. Continuing without it.
key,name,value
1,TRUE,1
$
{code}
The output contains nulls instead of blank lines. This is due to the use of
-Djline.terminal=jline.UnsupportedTerminal introduced in HIVE-6758 to be able
to run beeline as a background process. But this is the unfortunate side effect
of that fix.
Running beeline in background also produces garbled output.
{code}
# beeline -u "jdbc:hive2://localhost:10000" -n hive -p hive --silent=true
--outputformat=csv2 --showHeader=false -f /tmp/run.sql 2>&1 > /tmp/beeline.txt &
# cat /tmp/beeline.txt
null1,TRUE,1
#
{code}
So I think the use of jline.UnsupportedTerminal should be documented but not
used automatically by beeline under the covers.
> Beeline output is garbled when executed from a remote shell
> -----------------------------------------------------------
>
> Key: HIVE-14342
> URL: https://issues.apache.org/jira/browse/HIVE-14342
> Project: Hive
> Issue Type: Bug
> Components: Beeline
> Affects Versions: 2.0.0
> Reporter: Naveen Gangam
> Assignee: Naveen Gangam
>
> {code}
> use default;
> create table clitest (key int, name String, value String);
> insert into table clitest values
> (1,"TRUE","1"),(2,"TRUE","1"),(3,"TRUE","1"),(4,"TRUE","1"),(5,"FALSE","0"),(6,"FALSE","0"),(7,"FALSE","0");
> {code}
> then run a select query
> {code}
> # cat /tmp/select.sql
> set hive.execution.engine=mr;
> select key,name,value
> from clitest
> where value="1" limit 1;
> {code}
> Then run beeline via a remote shell, for example
> {code}
> $ ssh -l root <remotehost.domain.com> "sudo -u hive beeline -u
> jdbc:hive2://localhost:10000 -n hive -p hive --silent=true
> --outputformat=csv2 -f /tmp/select.sql"
> root@<remoteHost.domain.com>'s password:
> 16/07/12 14:59:22 WARN mapreduce.TableMapReduceUtil: The hbase-prefix-tree
> module jar containing PrefixTreeCodec is not present. Continuing without it.
> nullkey,name,value
> 1,TRUE,1
> null
> $
> {code}
> In older releases that the output is as follows
> {code}
> $ ssh -l root <remoteHost.domain.com> "sudo -u hive beeline -u
> jdbc:hive2://localhost:10000 -n hive -p hive --silent=true
> --outputformat=csv2 -f /tmp/run.sql"
> Are you sure you want to continue connecting (yes/no)? yes
> root@<remoteHost.domain.com>'s password:
> 16/07/12 14:57:55 WARN mapreduce.TableMapReduceUtil: The hbase-prefix-tree
> module jar containing PrefixTreeCodec is not present. Continuing without it.
> key,name,value
> 1,TRUE,1
> $
> {code}
> The output contains nulls instead of blank lines. This is due to the use of
> -Djline.terminal=jline.UnsupportedTerminal introduced in HIVE-6758 to be able
> to run beeline as a background process. But this is the unfortunate side
> effect of that fix.
> Running beeline in background also produces garbled output.
> {code}
> # beeline -u "jdbc:hive2://localhost:10000" -n hive -p hive --silent=true
> --outputformat=csv2 --showHeader=false -f /tmp/run.sql 2>&1 >
> /tmp/beeline.txt &
> # cat /tmp/beeline.txt
> null1,TRUE,1
> #
> {code}
> So I think the use of jline.UnsupportedTerminal should be documented but not
> used automatically by beeline under the covers.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)