PythonでHDFS上のファイルを読み込む

PythonでHDFS上のファイルを読み書きするには、Hadoopファイルシステムライブラリのpyarrowまたはhdfs3を使用できます。

Apache Hadoop 環境変数を設定し、pyarrow ライブラリをインストールすれば、pyarrow を使用して 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を読み取りたいファイルのパスに置き換えてください。

bannerAds