> On Jan. 28, 2015, 1:22 a.m., Ashutosh Chauhan wrote: > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java, > > line 649 > > <https://reviews.apache.org/r/29898/diff/2/?file=825983#file825983line649> > > > > I think there is a helper method in apache commons (or guava) which can > > let you do such parsing. Will be good to reuse that, if available. > > Jason Dere wrote: > Not sure if the commons/guava libs have something to escape commas > (please correct me if I am wrong). I see that Hive uses opencsv which handles > CSV-style escaping, I will use this to parse the list. > > Ashutosh Chauhan wrote: > Other possibility is to potentially refactor utility method from > HIVE-4576 for this.
TestTempletonUtils.unEscapeString() is actually buggy due to the attempt to only unescape '\,' and nothing else. The following string would cause an error:"paths=c:\path1\,c:\path2". You need to escape '\' as '\' or StringUtils.unEscapeString() will throw an exception. I've created a general version in HiveStringUtils which does what my ugly custom parser did, but I have not changed the logic in HIVE-4576 due to potential backward compatibility issues. - Jason ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/29898/#review69930 ----------------------------------------------------------- On Jan. 20, 2015, 12:34 a.m., Jason Dere wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/29898/ > ----------------------------------------------------------- > > (Updated Jan. 20, 2015, 12:34 a.m.) > > > Review request for hive and Ashutosh Chauhan. > > > Bugs: HIVE-9298 > https://issues.apache.org/jira/browse/HIVE-9298 > > > Repository: hive-git > > > Description > ------- > > Add new SerDe parameter "timestamp.formats" to specify alternate timestamp > patterns > > > Diffs > ----- > > common/pom.xml ede8aea > common/src/java/org/apache/hive/common/util/TimestampParser.java > PRE-CREATION > common/src/test/org/apache/hive/common/util/TestTimestampParser.java > PRE-CREATION > data/files/ts_formats.txt PRE-CREATION > > hbase-handler/src/java/org/apache/hadoop/hive/hbase/DefaultHBaseKeyFactory.java > 98bc73f > > hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseLazyObjectFactory.java > 78f23cb > > hbase-handler/src/java/org/apache/hadoop/hive/hbase/struct/AvroHBaseValueFactory.java > a2ba827 > > hbase-handler/src/java/org/apache/hadoop/hive/hbase/struct/DefaultHBaseValueFactory.java > e60b844 > hbase-handler/src/test/queries/positive/hbase_timestamp_format.q > PRE-CREATION > hbase-handler/src/test/results/positive/hbase_timestamp_format.q.out > PRE-CREATION > pom.xml c147d45 > ql/src/test/queries/clientpositive/timestamp_formats.q PRE-CREATION > ql/src/test/results/clientpositive/timestamp_formats.q.out PRE-CREATION > > serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java > 8d3595b > > serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroLazyObjectInspector.java > 2fb1c28 > serde/src/java/org/apache/hadoop/hive/serde2/columnar/ColumnarSerDe.java > 882c43e > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java e3968a9 > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java > 95e30db > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestamp.java > 27895c5 > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 3943508 > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyListObjectInspector.java > 9d66a78 > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyMapObjectInspector.java > ee870f5 > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyObjectInspectorFactory.java > 1abd8a5 > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazySimpleStructObjectInspector.java > 9611e9f > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyUnionObjectInspector.java > 792a9a2 > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyObjectInspectorParameters.java > PRE-CREATION > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyObjectInspectorParametersImpl.java > PRE-CREATION > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java > 08fec77 > > serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampObjectInspector.java > 0d15054 > > Diff: https://reviews.apache.org/r/29898/diff/ > > > Testing > ------- > > Added CliDriver/HBaseCliDriver qfile tests > > > Thanks, > > Jason Dere > >