我正在寻找一个python实用工具,该工具可让我在HDFS上动态创建虚拟文件,而无需接触本地文件系统。
专家,我有一个简单的要求,我需要在Pyspark代码的HDFS中创建一个虚拟文件(0字节)。基本上,我正在检查HDFS上是否存在x.lock(0字节)文件,如果存在,这意味着我需要等到其他进程(创建它)完成并删除它。如果不存在,我的工作将创建它并继续执行,最后将其删除。
答案 0 :(得分:1)
使用以下本地pythonhdfs连接器:https://wesmckinney.com/blog/python-hdfs-interfaces/
尝试以下解决方案(libhdfs或libhdfs3):
from pyarrow import HdfsClient
# Using libhdfs
hdfs = HdfsClient(host, port, username, driver='libhdfs')
# Using libhdfs3
hdfs_alt = HdfsClient(host, port, username, driver='libhdfs3')
path = '/user/dummy.txt'
with hdfs.open(path, 'wb') as f:
f.write("")