在 AWS Glue 中使用 JSON 字典键作为列条目

问题描述 投票:0回答:1

我有具有以下结构的 JSON 文件:

{
 'ID_001': 
  {
   'attr_a': 'bla',
   'attr_b': 'blub'
  },
 'ID_002':
  {
   'attr_a': 'foo',
   'attr_b': 'bar'
  },
 ...
}

我想使用具有以下格式的 AWS Glue ETL 任务将其转换为表格格式:

身份证 attr_a attr_b
ID_001 布拉 blub
ID_002 酒吧
...

但是,我被类似的桌子困住了

ID_001 ID_002 ...

在 pandas 中,一个简单的

df.transpose()
就可以解决问题,但是使用自定义转换中的
DynamicFrameCollection
,我陷入了困境。

在 Spark/AWS Glue 中是否有首选方法来进行此类转换?或者是否有更好的方法将该数据读入 Athena 表?

pyspark aws-glue
1个回答
0
投票

也许更容易读取 json 字符串并提前准备好,如下所示:

data = [(k, v['attr_a'], v['attr_b']) for k, v in json_string.items()]
df = spark.createDataFrame(data, ['id', 'attr_a', 'attr_b'])
display(df)

输出:

id attr_a attr_b
ID_001 布拉 blub
ID_002 酒吧
© www.soinside.com 2019 - 2024. All rights reserved.