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)