Удалите конечные нули в динамическом кадре клея, созданном из объекта S3
Я написал связующий код, который считывает данные из корзины S3 и загружает их в Redshift. Этот код является общим, поэтому он может читать все файлы из S3 в цикле и загружать их все в красном смещении.
Однако в некоторых файлах у меня есть числовые поля, но когда динамический фрейм считывает их, они добавляют «.0» в конце каждого числового поля (в некоторых случаях также для поля даты). Может кто-нибудь, пожалуйста, помогите, как я могу прочитать все поля только в виде строки, чтобы динамический кадр не добавлял конечные нули
S3bucket_node = glueContext.create_dynamic_frame.from_options(
format_options={"withHeader": True, "separator": "~"},
connection_type="s3",
format="csv",
connection_options={"paths": ["s3://name/{0}".format(file_name_temp)]},
transformation_ctx="S3bucket_node",
)
После создания S3bucket_node я использую его для загрузки в Redshift. Но поскольку формат полей меняется из-за нулей в конце, моя работа терпит неудачу.
Я пробовал использовать FromDF и toDF, но не смог решить эту проблему.
Пример одного из моих исходных файлов:
Cust_name, Age, JoiningDate
John,29,20210101
После обработки вышеуказанных данных из DynamicFrame(S3bucket_node) значения изменяются следующим образом:
John,29.0,20210101.0