我有数据如下 -
{
"Id": "01d3050e",
"Properties": "{\"choices\":null,\"object\":\"demo\",\"database\":\"pg\",\"timestamp\":\"1581534117303\"}",
"LastUpdated": 1581530000000,
"LastUpdatedBy": "System"
}
Run Code Online (Sandbox Code Playgroud)
使用 awsglue,我想关联“属性”列,但由于数据类型是字符串,所以无法完成。将其转换为结构体,可能会根据阅读此博客来完成 -
>>> df.show
<bound method DataFrame.show of DataFrame[Id: string, LastUpdated: bigint, LastUpdatedBy: string, Properties: string]>
>>> df.show()
+--------+-------------+-------------+--------------------+
| Id| LastUpdated|LastUpdatedBy| Properties|
+--------+-------------+-------------+--------------------+
|01d3050e|1581530000000| System|{"choices":null,"...|
+--------+-------------+-------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
如何使用关系化转换器或 pyspark 中的任何 UDF 取消嵌套“属性”列,将其分解为“选择”、“对象”、“数据库”和“时间戳”列。
我需要获取下周一的日期,无论执行 SQL 的日期是哪一天。
我认为逻辑7 - day_of_week(current_date)%7 + 1是可行的,但如何获取日期呢?
select current_date;
_col0
1 2019-11-16
select (7 - day_of_week(current_date)%7+1)
_col0
1 2
Run Code Online (Sandbox Code Playgroud)
或者还有其他更好的方法来做同样的事情吗?
我将不胜感激任何帮助!