Presto - 在列表上使用 serde?

Presto - using serde on lists?

我有一个 JSON 文件,内容如下:

{
  "key1": [
    "value1"
  ],
  "key2": [
    {
      "key3": "value3",
      "key4": "value4
    }
  ],
  "key5": "value5"
}

要为此文件(不带“key1”)快速创建一个 serde-table,我会这样做:

create table table_one
(
  key2 ARRAY (
    ROW (
      key3 varchar,
      key4 varchar
    )
  ),
  key5 varchar
)...

效果很好。 但我的问题是,当 JSON 文件的 [] 中没有键值对时,如何在 serde table 中显示属性“key1”?

谢谢, 比约恩

假设它是一个字符串列表,您可以直接将其定义为 varchar 数组。

create table table_two
(
  key1 ARRAY (varchar),
  key2 ARRAY (
    ROW (
      key3 varchar,
      key4 varchar
    )
  ),
  key5 varchar
);