小编Jon*_*Jon的帖子

使用 Pyspark 从数组中读取 JSON 项?

我在从 databricks 中的 Cosmos DB 读取项目时遇到一些问题,它似乎将 JSON 作为字符串值读取,并且在将数据从其中获取到列时遇到一些问题。

我有一个名为 ProductRanges 的列,其中连续包含以下值:

[   {
        "name": "Red",
        "min": 0,
        "max": 99,
        "value": "Order More"
    },
    {
        "name": "Amber",
        "min": 100,
        "max": 499,
        "value": "Stock OK"
    },
    {
        "name": "Green",
        "min": 500,
        "max": 1000000,
        "value": "Overstocked"
    }
]
Run Code Online (Sandbox Code Playgroud)

在 Cosmos DB 中,JSON 文档是有效的,在导入数据时,数据帧中的数据类型是字符串,而不是我期望的 JSON 对象/结构。

我希望能够计算“名称”出现的次数,并迭代它们以获取最小值、最大值和值项,因为我们可以拥有的范围数可以超过 3。我已经尽管在 stackoverflow 和其他地方发表了一些帖子,但仍停留在格式上。我尝试使用爆炸并读取基于列值的模式,但它确实说“在无效文档中”,认为这可能是由于 Pyspark 在开始和结束时需要 {},但甚至将其连接到来自 cosmos db 的 SQL 查询最终仍然是字符串的数据类型。

任何指示将不胜感激

json pyspark databricks azure-databricks

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

标签 统计

azure-databricks ×1

databricks ×1

json ×1

pyspark ×1