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

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

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

  1. [{
  2. "id": "c147162a-a304-11ea-aa90-0242ac110028",
  3. "clientId": "xxx",
  4. "contextUUID": "1bb6b39e-b181-4a6d-b43b-4040f9d254b8",
  5. "tags": {},
  6. "timestamp": 1592855898
  7. }, {
  8. "id": "c147162a-a304-11ea-aa90-0242ac110028",
  9. "clientId": "yyy",
  10. "contextUUID": "1bb6b39e-b181-4a6d-b43b-4040f9d254b8",
  11. "tags": {},
  12. "timestamp": 1592855898
  13. }]

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

  1. ds = glueContext.create_dynamic_frame.from_catalog(
  2. database = "dbname",
  3. table_name = "tablename")
  4. ds.printSchema()
  5. root
  6. ds.schema()
  7. StructType([], {})
  8. ds.show()
  9. empty
  10. ds.toDF().show()
  11. ++
  12. ||
  13. ++
  14. ++

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

暂无答案!

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

相关问题