我有一个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-6 6GB)。
我可以在json文件中拥有的最大数据是~5mb,其中dps部分包含大约300k行
这是正常行为还是我做错了什么?
发布于 2016-05-26 08:24:52
Drill不能拆分json文件,因此如果所有数据都在一个文件中,扫描将不会并行完成。尝试将数据拆分成几个小文件,您应该会看到查询速度有所提高。
不确定高内存使用率。
https://stackoverflow.com/questions/37318186
复制相似问题