Apache Drill响应缓慢

时间:2016-05-19 08:45:18

标签: json apache-drill

我有一个具有以下结构的JSON文件:

[
  {
    "metric": "MyMovie",
    "tags": {
      "channel": "999"
    },
    "dps": {
      "1448942420": 1,
      "1448942421": 4,
      "1448942422": 7,
      "1448942423": 2,
      ....
    }
  }
]

我正在使用Apache Drill来查询此json文件。我的sql看起来像这样:

select 
  t.tags.channel as channel, 
  t.metric, 
  FLATTEN(KVGEN(t.dps)) as dps 
from dfs.`/c:/myJson.json` t;

如果json文件很小(100Kb - 1Mb),这个sql运行正常。但是如果json文件超过1Mb,则在返回任何数据之前花费很长时间并且ram使用率非常高(5-6GB)。

我在json文件中可以拥有的最大数据是〜5mb,其中dps部分包含~300k行

这是正常行为还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

Drill无法拆分json文件,因此如果您的所有数据都在一个文件中,扫描将不会并行完成。尝试将数据拆分为几个小文件,您应该看到查询速度有所提高。

不确定高内存使用率。你可以分享查询资料吗?