PHOENIX-3960 PhoenixStorageHandler for Hive doesn't work from Spark jobs
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/bf334b12 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/bf334b12 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/bf334b12 Branch: refs/heads/4.x-HBase-1.2 Commit: bf334b12e419d5ff3b32cbf32e9635dde0c90884 Parents: 54c28d1 Author: Sergey Soldatov <s...@apache.org> Authored: Mon Jun 19 12:49:29 2017 -0700 Committer: Sergey Soldatov <s...@apache.org> Committed: Tue Jul 25 14:17:49 2017 -0700 ---------------------------------------------------------------------- .../apache/phoenix/hive/PhoenixStorageHandler.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/bf334b12/phoenix-hive/src/main/java/org/apache/phoenix/hive/PhoenixStorageHandler.java ---------------------------------------------------------------------- diff --git a/phoenix-hive/src/main/java/org/apache/phoenix/hive/PhoenixStorageHandler.java b/phoenix-hive/src/main/java/org/apache/phoenix/hive/PhoenixStorageHandler.java index ae8f242..4e9f465 100644 --- a/phoenix-hive/src/main/java/org/apache/phoenix/hive/PhoenixStorageHandler.java +++ b/phoenix-hive/src/main/java/org/apache/phoenix/hive/PhoenixStorageHandler.java @@ -51,6 +51,7 @@ import java.io.IOException; import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.UUID; /** * This class manages all the Phoenix/Hive table initial configurations and SerDe Election @@ -110,6 +111,12 @@ public class PhoenixStorageHandler extends DefaultStorageHandler implements return PhoenixOutputFormat.class; } + @SuppressWarnings("rawtypes") + @Override + public Class<? extends InputFormat> getInputFormatClass() { + return PhoenixInputFormat.class; + } + @Override public void configureInputJobProperties(TableDesc tableDesc, Map<String, String> jobProperties) { @@ -182,7 +189,12 @@ public class PhoenixStorageHandler extends DefaultStorageHandler implements } SessionState sessionState = SessionState.get(); - String sessionId = sessionState.getSessionId(); + String sessionId; + if(sessionState!= null) { + sessionId = sessionState.getSessionId(); + } else { + sessionId = UUID.randomUUID().toString(); + } jobProperties.put(PhoenixConfigurationUtil.SESSION_ID, sessionId); jobProperties.put(PhoenixConfigurationUtil.INPUT_TABLE_NAME, tableName); jobProperties.put(PhoenixStorageHandlerConstants.ZOOKEEPER_QUORUM, tableProperties