我想对HDFS目录上的可用数据应用批处理,它通过手动更改路径来工作
hdfsdir = r"hdfs://VPS-DATA1:9000/directory"
filelist = [ line.rsplit(None,1)[-1] for line in sh.hdfs('dfs','-ls',hdfsdir).split('\n') if len(line.rsplit(None,1))][1:]
filepaths=filelist
for path in filepaths:
#reading data from HDFS
with hdfs.open(path, "r") as read_file:
....
我想动态地执行此操作,而不需要每次都更改路径:hdfsdir = r"hdfs://VPS-DATA1:9000/directory"
,例如如果子目录已经被处理过,那么如果我再次运行脚本,它将不会被再次处理。
你看......
我只想处理尚未处理的子目录!
我想在处理文件夹时,只将其存储在某个数据库中,这样脚本就不会处理它
任何帮助将不胜感激§§
谢谢
1条答案
按热度按时间u5rb5r591#
解决方法是将处理后的每个HDFS目录的路径保存在一个文本文件中,在处理前检查该文件夹名是否存在于该文本文件中,
所以如果是:处理目录中存在的所有文件
如果没有:移动到下一个文件夹并应用相同的概念