У меня есть несколько файлов в папке s3 bucket. В python я читал файлы один за другим и использовал concat для одного кадра данных. Тем не менее, это довольно медленно. Если у меня будет миллион файлов, это будет очень медленно. Есть ли другой доступный метод (например, bash), который может увеличить процесс чтения файлов s3?
response = client.list_objects_v2(
Bucket='bucket',
Prefix=f'key'
)
dflist = []
for obj in response.get('Contents', []):
dflist.append(get_data(obj,col_name))
pd.concat(dflist)
def get_data(obj, col_name):
data = pd.read_csv(f's3://bucket/{obj.get("Key")}', delimiter='\t', header=None, usecols=col_name.keys(),
names=col_name.values(), error_bad_lines=False)
return data