该小组的一位成员协助我根据日期将文件复制到关注对象中
我想调整代码以根据文件名中的某些字符复制文件-在下面的示例中,字符为1111、1112、1113和1114 因此,如果我们有四个文件,如下所示:
File_Account_1111_exam1.csv File_Account_1112_testxx.csv File_Account_1113_pringle.csv File_Account_1114_sam34.csv
仅当File_Account_1113_pringle.csv已复制到文件夹时,我才希望将File_Account_1114_sam34.csv复制到该文件夹。 同样,如果File_Account_1112_testxx.csv已被复制到文件夹中,等等,我只希望复制File_Account_1113_pringle.csv。
因此,如果所有文件都已复制到文件夹,则其外观类似于以下内容:
dbutils.fs.put("/mnt/adls2/demo/files/file_Account_1111_exam1.csv", data, True)
dbutils.fs.put("/mnt/adls2/demo/files/file_Account_1112_testxx.csv", data, True)
dbutils.fs.put("/mnt/adls2/demo/files/file_Account_1113_pringle.csv", data, True)
dbutils.fs.put("/mnt/adls2/demo/files/file_Account_1114_sam34.csv", data, True)
答案 0 :(得分:1)
建议在上传文件到DBFS时不要应用任何业务逻辑,我建议上传所有可用文件,然后使用test = sc.wholeTextFiles("pathtofile")
读取它们,这将返回文件名和文件内容的键/值RDD。相应的thread。一旦完成,就可以在Spark作业中实现和测试基于文件名的任何排序或筛选业务逻辑。
我希望这会有所帮助。