hdfs3、snakebite などがあるようです。どれが最もサポートされていて包括的ですか?
5 に答える
私の知る限り、考えられるほど多くの可能性はありません。しかし、ウェブサイトまたはターミナルからhdfs 2.0.12
ダウンロードできる公式の Python パッケージをお勧めします。
pip install hdfs
機能の一部:
- 安全なクラスターと安全でないクラスターの両方をサポートする、WebHDFS (および HttpFS) API の Python (2 および 3) バインディング。
- ファイルを転送し、インタラクティブなクライアント シェルを起動するためのコマンド ライン インターフェース。
- オプションの拡張子による追加機能: avro、HDFS から Avro ファイルを直接読み書きする。データフレーム、Pandas データフレームをロードおよび保存します。Kerberos 認証クラスターをサポートするための kerberos。
私はsnakebite、hdfs3、およびhdfsを試しました。
Snakebite はダウンロードのみ (アップロードなし) をサポートしているので、私には向いていません。
これらの 3 つのうち、hdfs3 のみが HA セットアップをサポートしているため、それを選択しましたが、データノードのホスト名を使用してマルチホーム ネットワークで動作させることができませんでした(ここで説明されている問題: https://rainerpeter.wordpress.com/2014/ 02/12/connect-to-hdfs-running-in-ec2-using-public-ip-addresses/ )
そのため、アップロードをサポートしているため、hdfs(2.0.16)を使用することになりました。HA をサポートするには、bash を使用していくつかの回避策を追加する必要がありました。
PS。http://wesmckinney.com/blog/python-hdfs-interfaces/に、Hadoop ファイル システムとやり取りするために開発された Python ライブラリを比較した興味深い記事があります。