Как подключить локальный экземпляр Spark к таблицам Hive на удаленном сервере с керберизацией? - PullRequest
0 голосов
/ 25 апреля 2019

Контекст

Я хочу использовать Spark 2 для некоторых элементарных ETL, но наши администраторы Hadoop имеют очень разные приоритеты и пока не могут установить его.

Проблема

Проще говоря, я хочу знать, можно ли настроить сеанс Spark, работающий на моем локальном компьютере, на:

  • Подключение к кластеру Hadoop (без установленного Spark 2)
  • Аутентификация в кластере, чтобы я мог получить доступ к его таблицам Hive
  • Считывание данных из его таблиц Hive на мой локальный компьютер
  • Обработка и преобразование данных на моем локальном компьютере
  • Запись результата в другую удаленную систему RDBMS (например, PostgreSQL)

У меня нет доступа пользователя root на сервере,Политика администратора не позволяет этим системам напрямую взаимодействовать друг с другом, но мой локальный компьютер может читать - и записывать - либо.

Эти ранее отвеченные вопросы не дали рабочего решения:

Многиеспасибо, если вы можете помочь!(Даже если он просто говорит: «Нет, вам нужно установить Spark в кластер Hadoop, чтобы прочитать его данные.» Мне просто нужно знать.)

1 Ответ

1 голос
/ 25 апреля 2019

Боюсь, что вы могли бы сделать это. Одна вещь, которую вы можете попробовать, это подключить куст через соединение jdbc и прочитать его в вашем локальном искровом кластере. Вам нужно открыть брандмауэр для доступа к порту 10000.

val sc = spark.sparkContext
  val sqlContext = spark.sqlContext
  val driverName = "org.apache.hive.jdbc.HiveDriver"
  Class.forName(driverName)
  val df = spark.read
    .format("jdbc")
    .option("url", "jdbc:hive2://localhost:10000/default")
    .option("dbtable", "clicks_json")
    .load()

если у вас есть kerberous для аутентификации используйте jdbc:hive2://server.dom.com:10000/mydatabase;user=someuser@PRINCIPAL.DOM.COM;principal=hive/principal.dom.com@PRINCIPAL.DOM.COM

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...