Я не совсем понимаю, что вам нужно делать.Разве у вас уже нет значения hour
, если у вас есть файлы, разделенные на нем, или только при использовании create_dynamic_frame .from_catalog
вы получите его?Вы можете сделать df1["hour"]
или df1.select_fields["hour"]
?
Вам не нужно импортировать какие-либо библиотеки, если ваши данные разделены на ts(timestamp in yyyymmddhh format)
, это вы можете выполнить с чистым python в Spark.
Пример кода.Сначала я создаю некоторые значения, которые будут заполнять мой DataFrame.Затем создайте новую переменную, как показано ниже.
df_values = [('2019010120',1),('2019010121',2),('2019010122',3),('2019010123',4)]
df = spark.createDataFrame(df_values,['yyyymmddhh','some_other_values'])
df_new = df.withColumn("hour", df["yyyymmddhh"][9:10])
df_new.show()
+----------+-----------------+----+
|yyyymmddhh|some_other_values|hour|
+----------+-----------------+----+
|2019010120| 1| 20|
|2019010121| 2| 21|
|2019010122| 3| 22|
|2019010123| 4| 23|
+----------+-----------------+----+