An open API service indexing awesome lists of open source software.

https://github.com/kjmrknsn/livy-rs

Apache Livy REST API Client
https://github.com/kjmrknsn/livy-rs

livy rust

Last synced: 3 months ago
JSON representation

Apache Livy REST API Client

Awesome Lists containing this project

README

          

# Apache Livy REST API Client
[![Crates.io](https://img.shields.io/crates/v/livy.svg)](https://crates.io/crates/livy)
[![Build Status](https://travis-ci.org/kjmrknsn/livy-rs.svg?branch=master)](https://travis-ci.org/kjmrknsn/livy-rs)
[![Released API docs](https://docs.rs/livy/badge.svg)](http://docs.rs/livy)

## Abstract
This crate provides an [Apache Livy](https://livy.incubator.apache.org/) REST API client.

## Setup
First, add the following settings to `Cargo.toml`:

```toml
[dependencies]
livy = "0.2"
```

Next, add the following line to the crate root:

```rust
extern crate livy;
```

## Examples
```rust
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/](https://docs.rs/livy/)

## Supported Versions of Apache Livy
* 0.3.0
* 0.4.0