Чтение файла, созданного в HDFS с Livy - PullRequest
0 голосов
/ 03 июля 2018

Я использую Livy для запуска примера wordcount, создавая файл jar, который работает отлично, и записывая вывод в HDFS. Теперь я хочу вернуть результат на мою HTML-страницу. Я использую Spark Scala, SBT, HDFS и Livy.

API REST GET / batch отображает только журнал и состояние.

Как получить выходные результаты?

Или как я могу прочитать файл в HDFS, используя REST API в Livy? Пожалуйста, помогите мне с этим.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 июля 2018

Вы можете использовать WebHDFS в своем вызове REST. Сначала включите WebHDFS, используя Admin.

  1. Использовать URL-адрес webHDFS
  2. Создать объект HttpURLConnection
  3. Установить метод запроса как GET

затем используйте средство чтения буфера для getInputStream.

0 голосов
/ 13 июля 2018

Если вы проверите статус для пакетов с помощью curl, вы получите статус пакетного задания Livy, которое будет завершено (если драйвер спуска запустился успешно).

Чтобы прочитать вывод: 1. Вы можете использовать SSH с помощью paramiko для машины, на которой запущен hdfs, и запустить hdfs dfs -ls /, чтобы проверить вывод и выполнить желаемые задачи.

  1. Используя Livy rest API, вам нужно написать сценарий, который выполняет шаг 1, и этот сценарий можно вызвать с помощью команды curl для извлечения выходных данных из HDFS, но в этом случае Livy запустит отдельный драйвер искры, и выходные данные появятся в STDOUT из журналов драйверов.

curl -vvv -u:: / batches -X POST --data '{"file": "http://"}' -H" Тип содержимого: application / json "

Первый - верный способ получения результата, хотя я не уверен на 100%, как будет вести себя второй подход.

...