NullPointerException в CacheLoader - PullRequest
       30

NullPointerException в CacheLoader

0 голосов
/ 28 августа 2018

Я пытаюсь написать Hive UDF для выполнения поиска в таблице Hbase. И вместо того, чтобы делать get (). Я переопределяю loadAll () , и это возвращает кеш [String, String] . Как только loadAll () загружает все .

x refCache.getAll (ImmutableList.of ("intial")); // Чтобы загрузить все ключи в кеш.

Тогда После загрузки я делаю get (Key), чтобы получить соответствующее значение.

xrefCache.get(key)

Запрос успешного выполнения (1):

SELECT getVal("10","s1:ref_table","cf1:id") as  idVal FROM testLook.dummy limit 1;

Запрос Fail Run (2):

 SELECT getVal(id,"s1:ref_table","cf1:id") as  idVal FROM testLook.dummy limit 1;

ПРИМЕЧАНИЕ:

Когда я запускаю Hive Query (1), он работает нормально. Но когда я запускаю Query (2), запрос триггеров в нелокальном режиме, я получаю исключение NullPointer ниже.

Исключение:

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException в com.google.common.cache.LocalCache.loadAll (LocalCache.java:4056) в com.google.common.cache.LocalCache.getAll (LocalCache.java:4014) в com.google.common.cache.LocalCache $ LocalLoadingCache.getAll (LocalCache.java:4865) в com.go.udfs.HbaseLookup.getGUIDValue (HbaseLookup.java:250) на com.go.udfs.HbaseLookup.evaluate (HbaseLookup.java:234) на com.go.udfs.HbaseLookup.evaluate (HbaseLookup.java:33) в org.apache.hadoop.hive.ql.exec.ExprNodeGenericFuncEvaluator._evaluate (ExprNodeGenericFuncEvaluator.java:186) в org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator.evaluate (ExprNodeEvaluator.java:77) в org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator.evaluate (ExprNodeEvaluator.java:65) в org.apache.hadoop.hive.ql.exec.SelectOperator.processOp (SelectOperator.java:77) на org.apache.hadoop.hive.ql.exec.Operator.forward (Operator.java:815) в org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp (TableScanOperator.java:98) в org.apache.hadoop.hive.ql.exec.MapOperator $ MapOpCtx.forward (MapOperator.java:157) в org.apache.hadoop.hive.ql.exec.MapOperator.process (MapOperator.java:497) в org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map (ExecMapper.java:170) в org.apache.hadoop.mapred.MapRunner.run (MapRunner.java:54) в org.apache.hadoop.mapred.MapTask.runOldMapper (MapTask.java:459) в org.apache.hadoop.mapred.MapTask.run (MapTask.java:343) в org.apache.hadoop.mapred.YarnChild $ 2.run (YarnChild.java:164) в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:422) в org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1920) в org.apache.hadoop.mapred.YarnChild.main (YarnChild.java:158) вызвано автор: java.lang.NullPointerException at com.go.udfs.HbaseLookup.access $ 300 (HbaseLookup.java:33) в com.go.udfs.HbaseLookup $ 1.loadAll (HbaseLookup.java:146) на com.google.common.cache.LocalCache.loadAll (LocalCache.java:4049) ... еще 22 * ​​1029 *

Любые указатели были бы полезны. Заранее спасибо

...