我正在尝试将json对象聚合到json列表中—动态创建用不同数量的字段创建的结构对象。每次使用以下代码段创建聚合时:
batched = dataset.select(col(asteriskChar), row_number()
.over(Window.orderBy(order)).alias(rowNumAlias))
.withColumn(batchAlias, functions.ceil(col(rowNumAlias).divide(batchSize)))
.groupBy(col(batchAlias)) .agg(functions.collect_list(struct(structCol)).alias(batchedColAlias));
我希望有如下对象批处理:
[
{
"id": 1,
"first": "John",
"last": "Thomas",
"score": 88
},
{
"id": 2,
"first": "Anne",
"last": "Jacobs",
"score": 32
}
]
,但我得到了以下信息:
[
{
"col1": {
"id": 1,
"first": "John",
"last": "Thomas",
"score": 88
}
},
{
"col1": {
"id": 2,
"first": "Anne",
"last": "Jacobs",
"score": 32
}
}
]
如何去掉“col1”字段并使这些json成为数组中的单个对象?先谢谢你。
1条答案
按热度按时间dl5txlt91#
很可能你不需要
struct
在那里: