impala:analysisexception:left outer join需要on或using子句

4xy9mtcn  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(747)

我有一个 Impala 表的基础上Parquet文件,存储视频观看记录。结构为:

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;

Impala 还给了我:
analysisexception:左外部联接需要on或using子句。
既然这里没有外键/主键关系(它应该内置到结构/父表关系中,对吧?),我该如何完成这个查询?

u5rb5r59

u5rb5r591#

当然;我一贴出问题就明白了。
结果是,如果我删除表别名a和b,查询就会工作。这听起来像 Impala 里的虫子吗?
这样做有效:

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

相关问题