如何在没有属性值的情况下从 pyspark 写入 dynamo?

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

我有一个具有以下架构的动态框架

root
 |-- data1: string (nullable = false)
 |-- data2: string (nullable = false)
 |-- data3: array (nullable = false)
 |    |-- element: string (containsNull = true)

现在当我使用

将其写入 dynamodb 时
glue_context.write_dynamic_frame_from_options(
        frame=DynamicFrame.fromDF(df, glue_context, "output"),
        connection_type="dynamodb",
        connection_options={
            "dynamodb.output.tableName": "table_name",
            "dynamodb.throughput.write.percent": "1.0",
        },
    )

数据三被写为

[ { "L" : [ { "S" : "" }, { "S" : "" }, { "S" : "" }, { "S" : "" } ] } ]
,但我希望它为
["","","",""]

我如何实现这一目标?

python pyspark amazon-dynamodb
1个回答
0
投票

DynamoDB 始终将数据存储在 DynamoDB-JSON 中,其中包括您称为 AttributesValues 的类型描述符。

这个博客强调了两者的区别。

根据您读取数据的方式/位置,您可以使用 unmarshall 函数将其恢复为本机 JSON 或使用高级 SDK 之一,如上述博客中所述。 Web 控制台还有一个切换开关,因此您可以在控制台中查看时在两种类型的 JSON 之间切换。

© www.soinside.com 2019 - 2024. All rights reserved.