Спарк с кустом jdb c без комиссионного сервера - PullRequest
0 голосов
/ 18 марта 2020

Я пишу приложение java spark, в котором я хочу прочитать данные с удаленного сервера улья, на котором поверх аутентификации kerberos. Я могу войти в систему с помощью моей таблицы ключей и тарифа через систему Kerberos, но когда я использую приведенный ниже код, я получаю пустой результат

SparkSession sparkSession =
        SparkSession.builder().appName("data-sync-with-spark").master("local").getOrCreate();

    System.out.println("Spark Session Created");

   *** this one works fine **
    // Dataset dataset = sparkSession.sql(Queries.MY_TABLE);

    try {
      Class.forName("org.apache.hive.jdbc.HiveDriver");
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }

    Dataset dataset =
        sparkSession
            .read()
            .format("jdbc")
            .option("url", configProperties.getProperty("datasync.datasource.jdbc-url", ""))
            .option("user", configProperties.getProperty("datasync.datasource.username", ""))
            .option("password", configProperties.getProperty("datasync.datasource.password", ""))
            .option("dbtable",  Queries.MY_TABLE)
            .load();

    dataset.printSchema();

    dataset.show(100);

Закомментированная строка работает нормально, когда я включаю HiveSupport при создании сеанса спарк-сессии. Но для этого мне нужно передать файл hive-site. xml, core-site. xml, hdfs-site. xml и yarn-site. xml в коде. Я просто хочу использовать некоторые функции spark и не хочу подключаться к комиссионному серверу. Пожалуйста, предложите какое-нибудь решение.

Я использую встроенную искру, используя intellij, а сервер улья, который я пытаюсь подключить, находится в кластере. Таким образом, используя jdb c url для подключения.

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