2017-10-13 140 views
0

我有一個基於存儲視頻查看記錄的Parquet文件的Impala表。結構是:Impala:AnalysisException:LEFT OUTER JOIN需要ON或USING子句

VideoSession 
    ... 
    ... 
    accountdata struct < 
     ... 
     ... 
     emailid string 
     ... 
     ... 
    > 
    ... 
    playbacksegments < 
     array < 
      struct < 
       ... 
       ... 
       playbackseconds double 
       ... 
       ... 
      > 
     > 
    > 

我想獲得每個客戶的播放秒數的總和。我想:

select a.accountdata.emailid, sum(b.item.playbackseconds) secs 
from VideoSession a left outer join VideoSession.playbacksegments b 
group by a.accountdata.emailid; 

帕拉給我回:

AnalysisException:LEFT OUTER JOIN需要或使用條款。

由於這裏沒有外鍵/主鍵關係(它應該內置在結構/父表關係中,對嗎?)我該如何完成這個查詢?

回答

0

當然;只要我發佈這個問題,我就明白了這一點。

事實證明,如果我刪除表別名a和b,查詢工作。這聽起來像是Impala中的一個bug嗎?

這工作:

select accountdata.emailid, sum(item.playbackseconds) secs 
from MyTable left outer join MyTable.playbacksegments 
group by accountdata.emailid;