尚未处理新hdfs目录的批处理

vptzau2j  于 2022-12-09  发布在  HDFS
关注(0)|答案(1)|浏览(175)

我想对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",例如如果子目录已经被处理过,那么如果我再次运行脚本,它将不会被再次处理。
你看......
我只想处理尚未处理的子目录!
我想在处理文件夹时,只将其存储在某个数据库中,这样脚本就不会处理它
任何帮助将不胜感激§§
谢谢

u5rb5r59

u5rb5r591#

解决方法是将处理后的每个HDFS目录的路径保存在一个文本文件中,在处理前检查该文件夹名是否存在于该文本文件中,
所以如果是:处理目录中存在的所有文件
如果没有:移动到下一个文件夹并应用相同的概念

相关问题