2017-11-03 14 views
0

私はApache Drillを使用して、さまざまなデータソースからデータを照会しています。 データが非常に大きい場合はデータをストリーミングしたいが、応答本体をJSONオブジェクトとして取得しています。 Apache Drillでどうすればいいですか?これはコードですApache Drill-Node JSでデータをストリーミングする方法は?

function executeQuery(req, res) { 
    log.info("entering executeQuery"); 
    //var key = req.query.key; 
    if (!_.isEmpty(req.body)) { 
    var queryString = req.body.query; 
    log.info("queryString: : " + queryString); 
    } 
    var query = { 
    'queryType': 'SQL', 
    'query': queryString 
    }; 

    var url = 'http://localhost:8047/query.json'; 
    var options = { 
    method: 'post', 
    body: query, 
    json: true, 
    url: url 
    }; 

    var callback = function (err, response, body) { 
    if (err) { 
     console.error('error posting json: ', err) 
     throw err; 
    } 
    log.info(typeof body); 
    body.pipe(res); 
    } 
    request(options, callback); 
} 
+0

です。この質問に対する回答はありましたか? @ user3649361 –

答えて

0

ドリルレスAPIを使用してクエリを実行しているようです。現在、Rest APIは結果のページ区切りをサポートしていません。 Drillに直接話したければ、Drill JDBCドライバを使用できます。 JDBCドライバーはページネーションもサポートしているので、大量のデータを一度に処理する必要はありません。私はこれを個人的にテストしていませんが、thisのようなNodeJS jdbcライブラリを使用し、Drill JDBCドライバを指すことができると思われます。 Drill JDBCドライバの詳細はhere

関連する問題