我在遷移項目遷移HDFS命令處決我做在我的Python代碼通過os.system()函數,代之以dbutils功能。
dbutils函數是按預期工作如果我通過一個文件的完全限定路徑但不是工作當我試圖通過外卡。
當前項目有多個HDFS命令(cp、rm、mv等)與通配符表達式。
目前,我看到兩個方麵,一,來減輕這個問題清單的所有對象作為一個列表,然後應用過濾器列表,然後遍曆列表和完成操作,但這不是一個有效的方式相比,和兩個批量複製/移動/刪除命令,通過使用boto3跑龍套做此操作。
有一種磚做的批量複製/移動/刪除文件從一個S3文件夾到另一個S3文件夾使用通配符表達式?
下麵是示例命令:
hdfs dfs - cp - f s3a: / / <桶> / folder1 / some_prefix *。csv s3a: / / <桶> / folder2 /
hdfs dfs mv - f s3a: / / <桶> / folder1 / some_prefix *。csv s3a: / / <桶> / folder2 /
hdfs dfs rm - r -skipTrash s3a: / / <桶> / folder1 / some_prefix * . csv
以下是例外我在了dbutils.fs.ls ():
選擇你認為隻是一個替代boto3 API相關但不是通配符選擇我需要的。
即使我做S3丘,我仍無法在磚做通配符操作。
選擇我是dbutils.fs boto3或捕獲。ls作為一個列表,然後遍曆,並做必要的操作。但這些都不是dbutils的一部分。我覺得dbutils隻支持的操作在一個文件在一個文件夾級別或水平。我的要求是複製/刪除/移動多個文件過濾(批量操作)的前綴和後綴,目前,我無法做到與dbutils磚。