0

在一些 Spark 代码中,我看到程序员使用这样的代码来创建 SparkContext

 SparkSession session = SparkSession
      .builder()
      .appName("Spark Hive Example")
      .config("spark.sql.warehouse.dir", warehouseLocation)
      .enableHiveSupport()
      .getOrCreate();

但我一直使用这种代码来创建 JavaSparkContext。

SparkConf sparkConf = new SparkConf().setAppName("Simple App").setMaster("local");
JavaSparkContext spark = new JavaSparkContext(sparkConf);

从代码的后半部分,有什么方法可以让我获得 Hive 上下文来对 Hive 表执行操作?

谢谢!

4

2 回答 2

0

您正在使用SQLContext不再使用的 Spark 2.0 或更高版本。SparkSessionwithenableHiveSupport是一个足够的替代品。

所以你所要做的就是session你已经拥有的实例。

于 2017-10-18T18:11:42.713 回答
0

终于找到了解决办法。

SparkSession spark = SparkSession
                    .builder()
                    .appName("SampleApp")
                    .master("local")
                    .enableHiveSupport()
                    .getOrCreate();

JavaSparkContext jsc = new JavaSparkContext(spark.sparkContext());
于 2017-10-19T19:39:46.067 回答