要在Python中读取HDFS上的文件,您可以使用Hadoop的文件系统库pyarrow或hdfs3。
使用pyarrow读取HDFS上的文件,您需要安装pyarrow库并配置好Hadoop的环境变量。然后可以使用以下代码示例读取HDFS上的文件:
import pyarrow as pa
# 连接到HDFS文件系统
fs = pa.hdfs.connect(host="namenode_host", port=8020, user="hdfs_user")
# 读取HDFS上的文件
with fs.open("/path/to/file.txt", mode='rb') as f:
data = f.read()
# 打印文件内容
print(data.decode('utf-8'))
使用hdfs3库读取HDFS上的文件,您需要安装hdfs3库并配置好Hadoop的环境变量。然后可以使用以下代码示例读取HDFS上的文件:
import hdfs3
# 连接到HDFS文件系统
fs = hdfs3.HDFileSystem(host="namenode_host", port=8020, user="hdfs_user")
# 读取HDFS上的文件
with fs.open("/path/to/file.txt", 'rb') as f:
data = f.read()
# 打印文件内容
print(data.decode('utf-8'))
请替换namenode_host
为您的HDFS Namenode的主机名或IP地址,8020
为Namenode的端口号(默认为8020),hdfs_user
为HDFS中的用户名。然后将/path/to/file.txt
替换为您要读取的文件的路径。