如何使用对象数组从json创建aws glue dynamicframe

jgwigjjp  于 2021-05-29  发布在  Spark
关注(0)|答案(0)|浏览(309)

我在s3中有一个json文件,每个文件中包含一个对象数组,如下所示。

[{
    "id": "c147162a-a304-11ea-aa90-0242ac110028",
    "clientId": "xxx",
    "contextUUID": "1bb6b39e-b181-4a6d-b43b-4040f9d254b8",
    "tags": {},
    "timestamp": 1592855898
}, {
    "id": "c147162a-a304-11ea-aa90-0242ac110028",
    "clientId": "yyy",
    "contextUUID": "1bb6b39e-b181-4a6d-b43b-4040f9d254b8",
    "tags": {},
    "timestamp": 1592855898
}]

我使用crawler检测模式并将其加载到目录。它成功地创建了一个架构,其中有一列名为 array 具有数据类型 array<struct<id:string,clientId:string,contextUUID:string,tags:string,timestamp:int>> .
现在,我试着用 glueContext.create_dynamic_frame.from_catalog 函数,但我看不到任何数据。我试着打印模式和数据,如下所示。

ds = glueContext.create_dynamic_frame.from_catalog(
       database = "dbname",
       table_name = "tablename")

ds.printSchema()
root
ds.schema()
StructType([], {})
ds.show()
empty
ds.toDF().show()
++
||
++
++

知道我做错了什么吗?我计划提取数组中的每个对象,并将该对象转换为不同的模式。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题