Skip to main content

Pure Python WebHDFS client

Project description

Because the world needs yet another way to talk to HDFS from Python.

Usage

This library provides a Python client for WebHDFS. NameNode HA is supported if you pass in both NameNodes. Any failed operation will raise some subclass of HdfsException.

from pyhdfs import HdfsClient
client = HdfsClient(hosts='namenode1.example.com:50070,namenode2.example.com:50070')
print(client.list_status('/'))

You can also pass the hostname as part of the URI:

from pyhdfs import HdfsClient
client = HdfsClient()
print(client.list_status('//namenode1.example.com:50070;namenode2.example.com:50070/'))

The methods and return values generally map directly to WebHDFS endpoints. There are also convenience methods that mimic Python os methods and HDFS CLI commands (e.g. walk and copy_to_local).

For more information, see the full API docs.

Installing

pip install pyhdfs

You’ll need Python 2.7 or Python 3.

Development testing

First get an environment with HDFS. The Cloudera QuickStart VM works fine for this. (Note that the VM only comes with Python 2.6, so you might want to use your host and forward port 50070.)

WARNING: The tests create and delete hdfs://localhost/tmp/pyhdfs_test.

Python 3:

virtualenv3 --no-site-packages env3
source env3/bin/activate
pip3 install -e .
pip3 install -r dev_requirements.txt
py.test

And again for Python 2 (after deactivate):

virtualenv2 --no-site-packages env2
source env2/bin/activate
pip2 install -e .
pip2 install -r dev_requirements.txt
py.test

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyHDFS-0.1.0.tar.gz (9.7 kB view details)

Uploaded Source

File details

Details for the file PyHDFS-0.1.0.tar.gz.

File metadata

  • Download URL: PyHDFS-0.1.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyHDFS-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7442809e1f3288516b6e759ea52f3acf5797ba75b14f339e8bb87902dfe5d2a0
MD5 ad809e6f7e91d3750a369fd9fe32d354
BLAKE2b-256 3cf5756a76ba9706ad22b547949dfc4f613fcdcbccb4d2771df10333c3af3169

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page