2016-05-19 10 views
0

は、私は次のような構造を持つJSONファイルを持っている:Apacheのドリル遅い応答

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

そして、私は、このJSONファイルを照会するApache Drillを使用しています。私の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ファイルに持つことができる最大のデータがある〜dpsセクションでは、〜30万行に

を含有する5メガバイトは何か間違ったことをやって、この正常な動作やイムですか?

答えて

0

ドリルではjsonファイルを分割できないため、すべてのデータが1つのファイル内にある場合、スキャンは並行して実行されません。データをいくつかの小さなファイルに分割してみてください。クエリ速度が向上するはずです。

メモリ使用量が高いかどうか不明です。クエリプロファイルを共有できますか?