package com.caseystella.input; import org.apache.spark.SparkContext; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.DataFrame; import org.apache.spark.sql.SQLContext; import org.apache.spark.sql.hive.HiveContext; import java.util.Map; public class SQLHandler implements InputHandler { public static final String SQL_TYPE_CONF = "sqlType"; @Override public DataFrame open(String inputName, JavaSparkContext sc, Map<String, String> properties) { String sqlTypeObj = properties.get(SQL_TYPE_CONF); if(sqlTypeObj != null && sqlTypeObj.equalsIgnoreCase("hive")) { HiveContext hc = new org.apache.spark.sql.hive.HiveContext(sc); return hc.sql(inputName); } else { SQLContext sqlContext = new SQLContext(sc); return sqlContext.sql(inputName); } } }