/jsr203-hadoop

A Java NIO file system provider for HDFS

Primary LanguageJavaApache License 2.0Apache-2.0

jsr203-hadoop

JSR 203 Implementation for Hadoop Distributed File System

Build Status Coverage Status Maven Central Dependency Status Codacy Badge

Maven artifact

    <dependency>
        <groupId>com.github.jsr203hadoop</groupId>
        <artifactId>jsr203hadoop</artifactId>
        <version>1.0.3</version>
    </dependency>

Prerequisites

jsr203-hadoop requires:

  • Git
  • Maven 3.0.4 (or higher)
  • JDK 1.7 (or higher)

Download and build

$ git clone git://github.com/damiencarol/jsr203-hadoop.git
$ cd jsr203-hadoop
$ mvn install

Use mvn -DskipTests if you do not want to execute the tests.

Example

jsr203-hadoop provide NIO 2 access to your HDFS cluster. For example, you can build URI starts with hdfs://<namebode>:<port> and use standard NIO API :

URI uri = new URI("hdfs://" + host + ":" + port + "/somefile");
Path file = Paths.get(uri);
System.out.println("File [" + file.toString() + "] exists = '" + Files.exists(file) + "'");

Status

This project is still a beta.

The following features are complete.

Feature Status Description
Path support - build from string/URI Done
Path support - resolve, relativize, equals, ... Done
Directory stream (provide ability to list files in directory, get status, ...) Done
Create/delete file/directory Done
Input/Output Partial Full support of SeekableByteChannel, FileChannel pending
Attribute view "basic" Done Full support (fileKey is implemented)
Attribute view "owner" Done Full support (Use Hadoop UGI)
Attribute view "posix" Done
Hadoop dedicated view "hadoop" for hadoop specific attributes (len, block size, replication factor) Done More attributes will come

More features will come :

  • Security and permissions
  • complete list of hadoop specific attributes

For more details, see the Reference guide.

More information

Ressources