JaySenSharma created HIVE-15927:
-----------------------------------
Summary: HIve does not insert UTF-8 characters properly when
insert query is triggered.
Key: HIVE-15927
URL: https://issues.apache.org/jira/browse/HIVE-15927
Project: Hive
Issue Type: Bug
Components: Hive
Affects Versions: 1.2.1, 1.2.0
Environment: All
Reporter: JaySenSharma
-
If we create a table as following from Ambari Hive View (or using any other
approach)
{code}
CREATE TABLE IF NOT EXISTS currency2 (id int, name string) ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH
SERDEPROPERTIES("serialization.encoding"='UTF-8','store.charset'='UTF-8',
'retrieve.charset'='UTF-8');
INSERT INTO currency2 VALUES (1, "£€₡");
SELECT * FROM currency2;
{code}
- Output from ambari side is attached as "Result.png"
Here we see that the queries were sent to the "hive" correctly as we see the
following entries appear in the "hiveserver2.log"
{code}
ssh root@hiveserevr2host
cd /var/log/hive
tail -f hiveserver2.log
{code}
Output of the log shows that hiveserver2 received the proper insert query
statements from Ambari Hive View.
{code}
2017-01-25 09:25:27,589 INFO [HiveServer2-Handler-Pool: Thread-60]:
parse.ParseDriver (ParseDriver.java:parse(185)) - Parsing command: INSERT INTO
currency2 VALUES (1, "£€₡")
2017-01-25 09:25:28,337 INFO [HiveServer2-Background-Pool: Thread-244]:
exec.Task (TezTask.java:build(316)) - Dag name: INSERT INTO currency2 VALUES
(1, "£€₡")(Stage-1)
2017-01-25 09:25:28,694 INFO [HiveServer2-Background-Pool: Thread-244]:
client.TezClient (TezClient.java:submitDAGSession(577)) - Submitted dag to
TezSession, sessionName=HIVE-bf038f08-853a-4850-80bc-7a6eaded3c2d,
applicationId=application_1485333705258_0007, dagName=INSERT INTO c
urrency1 VALUES (1, "£€₡")(Stage-1)
{code}
- Even the beeline fails to show the correct entry:
{code}
[root@erie3 ~]# su - hive
[hive@erie3 root]$ beeline
Beeline version 1.2.1000.2.5.3.0-37 by Apache Hive
beeline> !connect
jdbc:hive2://erie3.example.com:2181,erie1.example.com:2181,erie4.example.com:2181,erie2.example.com:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
0: jdbc:hive2://erie3.example.com:2181,erie1.> SELECT * FROM currency2;
+---------------+-----------------+--+
| currency2.id | currency2.name |
+---------------+-----------------+--+
| 1 | ��� |
+---------------+-----------------+--+
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)