From c59cd29153d712af2d62d2b14139c490ec28000b Mon Sep 17 00:00:00 2001 From: Enis Soztutar Date: Mon, 6 Jul 2015 15:39:19 -0700 Subject: [PATCH] HBASE-13352 Add hbase.import.version to Import usage (Lars Hofhansl) Conflicts: hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java --- .../org/apache/hadoop/hbase/mapreduce/Import.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java index d1e886de371..062219b1131 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java @@ -59,6 +59,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.zookeeper.ZKClusterId; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; import org.apache.hadoop.mapreduce.Job; +import org.apache.hadoop.mapreduce.TaskCounter; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; @@ -490,6 +491,8 @@ public class Import { + " Filter#filterKeyValue(KeyValue) method to determine if the KeyValue should be added;" + " Filter.ReturnCode#INCLUDE and #INCLUDE_AND_NEXT_COL will be considered as including" + " the KeyValue."); + System.err.println("To import data exported from HBase 0.94, use"); + System.err.println(" -Dhbase.import.version=0.94"); System.err.println("For performance consider the following options:\n" + " -Dmapreduce.map.speculative=false\n" + " -Dmapreduce.reduce.speculative=false\n" @@ -546,6 +549,16 @@ public class Import { // Flush all the regions of the table flushRegionsIfNecessary(conf); } + long inputRecords = job.getCounters().findCounter(TaskCounter.MAP_INPUT_RECORDS).getValue(); + long outputRecords = job.getCounters().findCounter(TaskCounter.MAP_OUTPUT_RECORDS).getValue(); + if (outputRecords < inputRecords) { + System.err.println("Warning, not all records were imported (maybe filtered out)."); + if (outputRecords == 0) { + System.err.println("If the data was exported from HBase 0.94 "+ + "consider using -Dhbase.import.version=0.94."); + } + } + System.exit(job.waitForCompletion(true) ? 0 : 1); } }