Perfect Hadoop: WebHDFS, MapReduce & Yarn.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

PerfectHadoop 简体中文

Get Involed with Perfect!

Star Perfect On Github Stack Overflow Follow Perfect on Twitter Join the Perfect Slack

Swift 4.0 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

This project provides a set of Swift classes which enable access to Hadoop servers.

This package builds with Swift Package Manager and is part of the Perfect project. It was written to be stand-alone and so does not require PerfectLib or any other components.

Ensure you have installed and activated the latest Swift tool chain.

Release Note

PerfectHadoop supports Hadoop 3.0.0 with a limitation on 2.7.3.


Add this project as a dependency in your Package.swift file.

.Package(url:"", majorVersion: 3)

Then please add the following line to the beginning part of swift sources:

import PerfectHadoop

Error Handle - Exception

In case of operation failure, an exception might be thrown out. In most cases of Perfect-Hadoop, the library would probably throw a Exception object. User can catch it and check a tuple (url, header, body) of the failure, as demo below:

do {
	// some Perfect Hadoop operations, including WebHDFS / MapReduce / YARN, all of them:
catch(Exception.unexpectedResponse(let (url, header, body))) {
	print("Exception: \(url)\n\(header)\n\(body)")
catch (let err){
	print("Other Error:\(err)")

User Manual

Further Information

For more information on the Perfect project, please visit