У меня есть некоторые данные в формате JSON (пример ниже). Сканер aws клея считывает эти данные и создает базу данных клеевого каталога с таблицей, а также устанавливает поле даты как строковое поле. Есть ли способ отформатировать дату в моем файле JSON так, чтобы сканер мог идентифицировать ее как поле даты? Я планирую считать эти данные в динамический фрейм с помощью aws Glue etl и отправить их в базу данных sql, где я хочу сохранить их как поле даты, чтобы можно было легко запрашивать и сравнивать поле даты. пример скрипта ниже.
Могу ли я преобразовать поле даты строки в поле даты rds в фрейме данных Spark?
myscript.py
data=gluecontext.create_dynamic_frame.from_catalog(database = "sample", table_name = "table" ...
data_frame=data.toDF()
//convert the string field to date field in the spark data frame
{"id": "abc", .... date = "2024-07-09"}
...






Вы можете использовать to_date для преобразования строкового поля в поле даты в фрейме данных Spark следующим образом:
from pyspark.sql.functions import to_date
data=gluecontext.create_dynamic_frame.from_catalog(database = "sample", table_name = "table")
data_frame = data.toDF()
# convert the string field to the date field in the spark data frame
data_frame = data_frame.withColumn("date", to_date("date", "yyyy-MM-dd"))
Вы можете использовать monotonically_increasing_id , но если вы хотите, чтобы он был последовательным, вы можете использовать row_number.
Спасибо. если можно, один вопрос в том же духе: есть ли способ сгенерировать уникальный ключ в искровом кадре данных, который можно использовать для генерации уникальных идентификаторов или какого-то идентификатора, который можно использовать в качестве первичного ключа, когда это будет написано к столу rds?