2014-09-18 82 views
0

我正在使用Golang編寫Impala客戶端。大多數情況下使用它來執行SELECT查詢和獲取結果。 我查看了Impala-Python驅動程序以供參考。 http://blog.cloudera.com/blog/2014/04/a-new-python-client-for-impala/檢查Impala中的操作狀態

在發送帶有要執行的查詢的EXECUTE thrift消息後,客戶端獲取該執行操作的操作句柄。然後,它通過向impala服務器發送GETOPERATIONSTATE thrift消息來查詢此操作的狀態,直到響應成功/完成。

有沒有辦法以任何其他方式知道操作狀態,而不是使用多個狀態請求輪詢服務器?一旦操作成功,Impala服務器可以發送消息嗎?

我在運行impala外殼時檢查了數據包捕獲。在查看結果之前,它也會發送EXECUTE消息,然後發送GETOPERATIONSTATE消息。

+1

是GitHub上Golang Impala客戶端的源代碼?我很想看看! – 2014-09-20 20:13:39

+0

尚未...仍然在私人回購。我會在Github上更新這個線程。 – user3321437 2014-09-23 17:54:14

回答

0

Impala支持HiveServer2(Hive)和Beeswax(Hue)API,這兩個API都需要輪詢來確定查詢狀態。