要将一周内的文件夹下的所有文件上传到HDFS,您可以使用以下 Python 脚本示例:
import datetime
import subprocess
# 获取当前日期
today = datetime.date.today()
# 获取上一周的开始日期和结束日期
last_week_start = today - datetime.timedelta(days=today.weekday() + 7)
last_week_end = today - datetime.timedelta(days=today.weekday() + 1)
# 假设文件夹路径为 /path/to/folder
folder_path = "/path/to/folder"
# 循环遍历一周内的日期
current_date = last_week_start
while current_date <= last_week_end:
# 构造日期对应的文件夹路径
date_folder = folder_path + "/" + str(current_date)
# 构造上传命令
hdfs_upload_cmd = "hdfs dfs -put " + date_folder + " /path/on/hdfs/"
# 执行上传命令
subprocess.run(hdfs_upload_cmd, shell=True)
# 更新日期至下一天
current_date += datetime.timedelta(days=1)
在上述示例中,您需要将 /path/to/folder
替换为实际的文件夹路径。同时,将 /path/on/hdfs/
替换为希望上传到的 HDFS 路径。
这段代码会遍历一周内的日期,依次上传每个日期文件夹下的所有文件到 HDFS。请确保您对 HDFS 有适当的访问权限,以便执行上传操作。
希望以上代码能满足您的需求!如果您有任何其他问题,请随时向我提问。