From c2b08cdfc9b762801a63fee988f1c24cc17df4ce Mon Sep 17 00:00:00 2001 From: amitsingh-10 <51735639+amitsingh-10@users.noreply.github.com> Date: Wed, 19 Feb 2020 00:49:44 +0530 Subject: [PATCH] [HUDI-617] Add support for types implementing CharSequence (#1339) - Data types extending CharSequence implement a #toString method which provides an easy way to convert them to String. - For example, org.apache.avro.util.Utf8 is easily convertible into String if we use the toString() method. It's better to make the support more generic to support a wider range of data types as partitionKey. --- .../hudi/utilities/keygen/TimestampBasedKeyGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hudi-utilities/src/main/java/org/apache/hudi/utilities/keygen/TimestampBasedKeyGenerator.java b/hudi-utilities/src/main/java/org/apache/hudi/utilities/keygen/TimestampBasedKeyGenerator.java index c24ddc849..b8019b476 100644 --- a/hudi-utilities/src/main/java/org/apache/hudi/utilities/keygen/TimestampBasedKeyGenerator.java +++ b/hudi-utilities/src/main/java/org/apache/hudi/utilities/keygen/TimestampBasedKeyGenerator.java @@ -103,7 +103,7 @@ public class TimestampBasedKeyGenerator extends SimpleKeyGenerator { unixTime = ((Float) partitionVal).longValue(); } else if (partitionVal instanceof Long) { unixTime = (Long) partitionVal; - } else if (partitionVal instanceof String) { + } else if (partitionVal instanceof CharSequence) { unixTime = inputDateFormat.parse(partitionVal.toString()).getTime() / 1000; } else { throw new HoodieNotSupportedException(