Как получить журналы клиента заданий Spark, отправленные с использованием метода POST пакетов Apache Livy с использованием AirFlow - PullRequest
0 голосов
/ 20 января 2019

Я работаю над отправкой задания Spark с использованием метода POST пакетов Apache Livy.

Этот HTTP-запрос отправляется с использованием AirFlow.После отправки задания я отслеживаю состояние с помощью пакетного идентификатора.

Я хочу отображать журналы драйверов (журналов клиентов) в журналах Air Flow, чтобы избежать перехода в несколько мест AirFLow и Apache Livy / Resource Manager.

Можно ли это сделать с помощью Apache Livy REST API?

1 Ответ

0 голосов
/ 21 января 2019

Ливий имеет конечную точку для получения журналов /sessions/{sessionId}/log & /batches/{batchId}/log.

Документация:

Вы можете создавать функции Python, как показано ниже, для получения журналов:

http = HttpHook("GET", http_conn_id=http_conn_id)

def _http_rest_call(self, method, endpoint, data=None, headers=None, extra_options=None):
    if not extra_options:
        extra_options = {}

    self.http.method = method
    response = http.run(endpoint, json.dumps(data), headers, extra_options=extra_options)

    return response


def _get_batch_session_logs(self, batch_id):
    method = "GET"
    endpoint = "batches/" + str(batch_id) + "/log"
    response = self._http_rest_call(method=method, endpoint=endpoint)
    # return response.json()
    return response
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...