Apache钻从JSON中选择空数组

时间:2016-08-24 14:00:54

标签: hadoop apache-drill

我正在使用Apache drill来存储大型JSON文件,然后我使用Drill API进行查询,如下所示:

{
    "queryType": "SQL",
    "query": "select * from db.table.`/path/to/JSON.json` w "
}

这正确地返回数据。但是,某些JSON文件有一个空数组。

例如,以下是存储在数据库中的JSON

{
  "key1": ["array", "of", "data"],
  "key2": ["array", "of", "data"],
  "key3": ["array", "of", "data"],
  "key4": ["array", "of", "data"],
  "key5": ["array", "of", "data"],
  "key6": ["array", "of", "data"],
  "key7": [],
}   

当我检索此数据时,它将返回如下

{
  "columns": [
    "key1",
    "key2",
    "key3",
    "key4",
    "key5",
    "key6",
  ],
  "rows": [
    {}
  ]
}
缺少

key7。即使某些存储的JSON文件可能为空,我如何获得显示此密钥的响应。

1 个答案:

答案 0 :(得分:0)

钻取架构较少,因此如果任何行中没有数据,它将忽略该列,如果您知道该列需要,则可能需要使用" case"或"如果"用于添加默认值或创建视图的语句。