Создайте временную SparkSession с enableHiveSupport

Я работаю над подключением к данным в Hadoop, который позволяет динамические подключения типа данных.

Мне нужно иметь возможность подключиться к Hive Thrift Server A, получить некоторые данные, а затем подключиться к Hive Thrift Server B и получить дополнительные данные.

Насколько я понимаю enableHiveSupport должен быть настроен на начальном SparkSession.builder, Есть ли способ добавить / изменить экономное соединение по факту?

Единственное возможное решение, с которым я столкнулся, - это использование newSession():SparkSession однако я не уверен, что это правильное решение, которое я ищу.

Я использую Spark 2.1, Hadoop 2.7

2 ответа

Решение

Согласно книге Spark The Definitive Guide "После того, как вы создадите [SparkConf], SparkConf является неизменным для этого конкретного приложения Spark" Камеры и Захария (2018, с.276)

   val spark = SparkSession.builder()
      .appName("Example")
      .master("local")
      .config("hive.metastore.uris","thrift://B:PortNumber")
      .enableHiveSupport()
      .getOrCreate()
Другие вопросы по тегам