我有一个具有以下结构的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行
这是正常行为还是我做错了什么?
答案 0 :(得分:0)
Drill无法拆分json文件,因此如果您的所有数据都在一个文件中,扫描将不会并行完成。尝试将数据拆分为几个小文件,您应该看到查询速度有所提高。
不确定高内存使用率。你可以分享查询资料吗?