Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/hyunsik/hdfs-rs

libhdfs binding and wrapper APIs for Rust
https://github.com/hyunsik/hdfs-rs

Last synced: 7 days ago
JSON representation

libhdfs binding and wrapper APIs for Rust

Awesome Lists containing this project

README

        

# hdfs-rs

libhdfs binding library and rust APIs which safely wraps libhdfs binding APIs

# Current Status
* Alpha Status (Rust wrapping APIs can be changed)
* All libhdfs FFI APIs are ported.
* Safe Rust wrapping APIs to cover some of the libhdfs APIs.

## Documentation
* [API documentation] (http://hyunsik.github.io/hdfs-rs/)

## Requirements
* Hadoop compiled with native library (i.e., maven profile ``-Pnative``)
* Please refer to https://github.com/apache/hadoop/blob/trunk/BUILDING.txt if you need more description.

## Usage
Add this to your Cargo.toml:

```toml
[dependencies]
hdfs = "0.0.4"
```

and this to your crate root:
```rust
extern crate hdfs;
```

hdfs-rs uses libhdfs, which is JNI native implementation. JNI native implementation requires the proper ``CLASSPATH``. ``exec.sh`` included in the source code root plays a role to execute your program with the proper ``CLASSPATH``. ``exec.sh`` requires ``HADOOP_HOME``. So, you firstly set ``HADOOP_HOME`` shell environment variable as follows:

````sh
export HADOOP_HOME=
```

Then, you can execute your program as follows:

```bash
./exec your_program arg1 arg2
```