Ниже приведен псевдокод, с помощью которого я пытался открыть файл hdfs:
import boto3
session = boto3.Session(profile_name='*profile*', region_name="eu-central-
1")
s3 = session.client('s3')
hdfs_path = 'hdfs://user/userName/test.csv'
object_data = open(hdfs_path, 'rb')
s3.put_object(Bucket='bkt-test-s3-testbkt', Key='t1.txt',
Body=object_data,ServerSideEncryption='AES256',ACL='bucket-owner-full-
control')
Почему-то я получаю сообщение о том, что такой директории не существует (в моих hdfs существует "hdfs_path")-loc), где я использую тот же код для данных в s3 для локальных файлов.Я также пытался использовать модули smart_open и snakebite, но мы не собираемся их использовать.
Есть ли способ, с помощью boto3, мы можем выполнить эту задачу?
Задания, которые нужно выполнить:
- список файлов в hdfs
- загрузка файлов специфических hdfs в aws-s3
- И как выполнить эту задачу с помощью модуля подпроцесса.