我是 python 新手,我正在尝试连接 Hadoop HDFS 系统。我得到了以下参考代码,我尝试实现它,但在导入包时显示错误。
from pyarrow import HdfsClient
# Using libhdfs
hdfs = HdfsClient('192.168.0.119', '50070', 'cloudera', driver='libhdfs')
Run Code Online (Sandbox Code Playgroud)
错误:ImportError:无法导入名称“HdfsClient”
我什至尝试使用“ pip ”安装它,但是
找不到满足 HdfsClient 要求的版本(来自版本:)未找到 HdfsClient 的匹配发行版
然后我尝试使用“ conda ”,但又
收集包元数据:完成解决环境:失败
PackagesNotFoundError:当前渠道无法提供以下软件包:
- HDFS客户端
目前渠道:
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/free/win-64
- https://repo.anaconda.com/pkgs/free/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/r/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch
要搜索可能提供您正在寻找的 conda 包的替代频道,请导航至
Run Code Online (Sandbox Code Playgroud)https://anaconda.org
并使用页面顶部的搜索栏。
实际上我正在尝试使用以下方式连接到 HUE:
IP 地址 -> 192.168.0.119
端口名称 -> 50070
用户名 -> cloudera
密码->cloudera
但这并不奏效。任何人都可以建议以更好的方式连接它或如何在 Python 3 中导入“HdfsClient”包。
你好,我正在使用 pywebhdfs python lib。我通过调用并尝试在 HDFS 上创建文件来连接 EMR。我遇到了异常,这似乎与我正在执行的操作无关,因为我在这里没有达到任何连接限制。是因为 webhdfs 的工作原理吗
from pywebhdfs.webhdfs import PyWebHdfsClient
hdfs = PyWebHdfsClient(host='myhost',port='50070', user_name='hadoop')
my_data = '01010101010101010101010101010101'
my_file = 'user/hadoop/data/myfile.txt'
hdfs.create_file(my_file, my_data)
Run Code Online (Sandbox Code Playgroud)
抛出:
requests.exceptions.ConnectionError: HTTPConnectionPool(host='masterDNS', port=50070): 超过 url 的最大重试次数:/webhdfs/v1/user/hadoop/data/myfile.txt?op=CREATE&user.name=hadoop (由NewConnectionError(': 无法建立新连接: [Errno 115] 操作正在进行中',))