小编Ana*_*and的帖子

pyspark:将字符串转换为结构

我有数据如下 -

{
    "Id": "01d3050e",
    "Properties": "{\"choices\":null,\"object\":\"demo\",\"database\":\"pg\",\"timestamp\":\"1581534117303\"}",
    "LastUpdated": 1581530000000,
    "LastUpdatedBy": "System"
}
Run Code Online (Sandbox Code Playgroud)

使用 awsglue,我想关联“属性”列,但由于数据类型是字符串,所以无法完成。将其转换为结构体,可能会根据阅读此博客来完成 -

https://aws.amazon.com/blogs/big-data/simplify-querying-nested-json-with-the-aws-glue-relationalize-transform/

>>> 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 取消嵌套“属性”列,将其分解为“选择”、“对象”、“数据库”和“时间戳”列。

apache-spark apache-spark-sql pyspark aws-glue

7
推荐指数
2
解决办法
2万
查看次数

SQL 将于下周一在 Presto 中获取

我需要获取下周一的日期,无论执行 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)

或者还有其他更好的方法来做同样的事情吗?

我将不胜感激任何帮助!

sql datetime date-arithmetic presto amazon-athena

1
推荐指数
1
解决办法
3363
查看次数