livy

Crates.iolivy
lib.rslivy
version0.5.0
sourcesrc
created_at2017-11-28 06:50:23.489726
updated_at2017-12-07 14:15:27.212446
descriptionApache Livy REST API Client
homepagehttps://crates.io/crates/livy
repositoryhttps://github.com/kjmrknsn/livy-rs
max_upload_size
id40817
size40,901
Keiji Yoshida (kjmrknsn)

documentation

https://docs.rs/livy

README

Apache Livy REST API Client

Crates.io Build Status Released API docs

Abstract

This crate provides an Apache Livy REST API client.

Setup

First, add the following settings to Cargo.toml:

[dependencies]
livy = "0.2"

Next, add the following line to the crate root:

extern crate livy;

Examples

extern crate livy;

use livy::client::Client;

fn main() {
    // http(s)://[livy_host]:[livy_port]
    let url = "http://example.com:8999";

    // The following configuration is useful to send an HTTP request
    // to a Livy REST API endpoint on a Kerberized Hadoop cluster.
    //
    // ```
    // let gssnegotiate = Some(true);
    // let username = Some("xxxx".to_string());
    // ```
    let gssnegotiate = None;
    let username = None;

    let client = Client::new(url, gssnegotiate, username);

    let from = None;
    let size = None;

    let res = match client.get_sessions(from, size) {
        Ok(res) => res,
        Err(err) => {
            println!("error: {}", err);
            return;
        }
    };

    println!("response: {:#?}", res);

    /*
        response: Sessions {
            from: Some(
                0
            ),
            total: Some(
                1
            ),
            sessions: Some(
                [
                    Session {
                        id: Some(
                            1
                        ),
                        app_id: Some(
                            "application_1111111111111_11111"
                        ),
                        owner: Some (
                            "xxxx"
                        ),
                        proxy_user: Some(
                            "xxxx"
                        ),
                        kind: Some(
                            Spark
                        ),
                        log: Some(
                            [
                                "\t ApplicationMaster host: N/A",
                                "\t ApplicationMaster RPC port: -1",
                                "\t queue: default",
                                "\t start time: 1111111111111",
                                "\t final status: UNDEFINED",
                                "\t tracking URL: http://xxxx:8088/proxy/application_1111111111111_11111/",
                                "\t user: xxxx",
                                "17/12/01 15:27:38 INFO ShutdownHookManager: Shutdown hook called",
                                "17/12/01 15:27:38 INFO ShutdownHookManager: Deleting directory /tmp/spark-11111111-1111-1111-1111-111111111111",
                                "\nYARN Diagnostics: "
                            ]
                        ),
                        state: Some(
                            Starting
                        ),
                        app_info: Some(
                            {
                                "sparkUiUrl": Some(
                                    "http://xxxx:8088/proxy/application_1111111111111_11111/"
                                ),
                                "driverLogUrl": Some(
                                    "http://xxxx:8042/node/containerlogs/container_111_1111111111111_11111_11_111111/xxxx"
                                )
                            }
                        )
                    }
                ]
            )
        }
    */
}

Documentation

https://docs.rs/livy/

Supported Versions of Apache Livy

  • 0.3.0
  • 0.4.0
Commit count: 50

cargo fmt