From 2901f5423a08c8f0c5fe60c8a3f23acbd36c0aed Mon Sep 17 00:00:00 2001 From: Shen Hong Date: Mon, 8 Jun 2020 19:38:32 +0800 Subject: [PATCH] [HUDI-1002] Ignore case when setting incremental mode in hive query (#1715) --- .../src/main/java/org/apache/hudi/hadoop/HoodieHiveUtil.java | 2 +- .../org/apache/hudi/hadoop/TestHoodieParquetInputFormat.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHiveUtil.java b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHiveUtil.java index 526639133..0537cfa09 100644 --- a/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHiveUtil.java +++ b/hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/HoodieHiveUtil.java @@ -98,7 +98,7 @@ public class HoodieHiveUtil { Map tablesModeMap = job.getConfiguration() .getValByRegex(HOODIE_CONSUME_MODE_PATTERN_STRING.pattern()); List result = tablesModeMap.entrySet().stream().map(s -> { - if (s.getValue().trim().equals(INCREMENTAL_SCAN_MODE)) { + if (s.getValue().trim().toUpperCase().equals(INCREMENTAL_SCAN_MODE)) { Matcher matcher = HOODIE_CONSUME_MODE_PATTERN_STRING.matcher(s.getKey()); return (!matcher.find() ? null : matcher.group(1)); } diff --git a/hudi-hadoop-mr/src/test/java/org/apache/hudi/hadoop/TestHoodieParquetInputFormat.java b/hudi-hadoop-mr/src/test/java/org/apache/hudi/hadoop/TestHoodieParquetInputFormat.java index 51a6524db..ad38d3341 100644 --- a/hudi-hadoop-mr/src/test/java/org/apache/hudi/hadoop/TestHoodieParquetInputFormat.java +++ b/hudi-hadoop-mr/src/test/java/org/apache/hudi/hadoop/TestHoodieParquetInputFormat.java @@ -310,12 +310,14 @@ public class TestHoodieParquetInputFormat { @Test public void testGetIncrementalTableNames() throws IOException { - String[] expectedincrTables = {"db1.raw_trips", "db2.model_trips"}; + String[] expectedincrTables = {"db1.raw_trips", "db2.model_trips", "db3.model_trips"}; JobConf conf = new JobConf(); String incrementalMode1 = String.format(HoodieHiveUtil.HOODIE_CONSUME_MODE_PATTERN, expectedincrTables[0]); conf.set(incrementalMode1, HoodieHiveUtil.INCREMENTAL_SCAN_MODE); String incrementalMode2 = String.format(HoodieHiveUtil.HOODIE_CONSUME_MODE_PATTERN, expectedincrTables[1]); conf.set(incrementalMode2,HoodieHiveUtil.INCREMENTAL_SCAN_MODE); + String incrementalMode3 = String.format(HoodieHiveUtil.HOODIE_CONSUME_MODE_PATTERN, "db3.model_trips"); + conf.set(incrementalMode3, HoodieHiveUtil.INCREMENTAL_SCAN_MODE.toLowerCase()); String defaultmode = String.format(HoodieHiveUtil.HOODIE_CONSUME_MODE_PATTERN, "db3.first_trips"); conf.set(defaultmode, HoodieHiveUtil.DEFAULT_SCAN_MODE); List actualincrTables = HoodieHiveUtil.getIncrementalTableNames(Job.getInstance(conf));