Создайте временную 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()