В EMR я использую s3-dist-cp --groupBy
, чтобы присвоить файлу случайное значение fileName
в папке с именем, которому я хочу переименовать его в S3:
s3-dist-cp --groupBy='.*(folder_in_hdfs).*' --src=hdfs:///user/testUser/tmp-location/folder_in_hdfs --dest=s3://testLocation/folder_in_s3
Пример:
hadoop fs -ls hdfs:///user/testUser/tmp-location/folder_in_hdfs
Found 2 items
-rw-r--r-- 1 hadoop hadoop 0 2019-04-05 14:54 hdfs:///user/testUser/tmp-location/folder_in_hdfs/file.csv/_SUCCESS
-rw-r--r-- 1 hadoop hadoop 493077 2019-04-05 14:54 hdfs:///user/testUser/tmp-location/folder_in_hdfs/file.csv/part-00000-12db8851-31be-4b08-8a93-1887e534941d-c000.csv
После запуска s3-dist-cp,
aws s3 ls s3://testLocation/folder_in_s3/
s3://testLocation/folder_in_s3/file.csv
Однако я хотел бы добиться этой функциональности на Dataproc с помощью команд hadoop distcp
и записать файл в GCSместоположение gs://testLocation/folder_in_gs/file.csv
Любая помощь приветствуется.