Niklaus Xiao created HIVE-14867:
-----------------------------------
Summary: "serialization.last.column.takes.rest" does not work for
MultiDelimitSerDe
Key: HIVE-14867
URL: https://issues.apache.org/jira/browse/HIVE-14867
Project: Hive
Issue Type: Bug
Components: Serializers/Deserializers
Affects Versions: 1.3.0
Reporter: Niklaus Xiao
Assignee: Niklaus Xiao
Create table with MultiDelimitSerde:
{code}
CREATE TABLE foo (a string, b string) ROW FORMAT SERDE
'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' WITH SERDEPROPERTIES
("field.delim"="|@|","collection.delim"=":","mapkey.delim"="@") stored as
textfile;
{code}
load data into table:
{code}
1|@|Lily|@|HW|@|abc
2|@|Lucy|@|LX|@|123
3|@|Lilei|@|XX|@|3434
{code}
select data from this table:
{code}
select * from foo;
+---------+----------------+--+
| foo.a | foo.b |
+---------+----------------+--+
| 1 | Lily^AHW^Aabc |
| 2 | Lucy^ALX^A123 |
| 3 | Lilei^AXX^A3434 |
+---------+----------------+--+
3 rows selected (0.905 seconds)
{code}
You can see the last column takes all the data, and replace the delimiter to
default ^A.
lastColumnTakesRestString should be false by default:
{code}
String lastColumnTakesRestString = tbl
.getProperty(serdeConstants.SERIALIZATION_LAST_COLUMN_TAKES_REST);
lastColumnTakesRest = (lastColumnTakesRestString != null &&
lastColumnTakesRestString
.equalsIgnoreCase("true"));
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)