hive 无法从AWS粘附作业的子查询中的配置单元视图中进行选择

vyswwuz2  于 2022-11-05  发布在  Hive
关注(0)|答案(1)|浏览(164)

我目前有一个glue作业,它运行一些sql代码来生成一个报告。它从不同的parquet视图中访问数据,并将结果存储在S3中的分区parquet表中。我一直在努力将我们的源代码从一个框架转换到另一个框架,两者都以glue etl应用程序的形式运行。sql基本上与以前相同,只是形式不同。然而,在测试新应用程序时,我们发现应用程序在尝试从特定的配置单元视图中进行选择时会失败:

如果正在运行的sql是一个简单的select语句,则可以直接从中选择所讨论的视图,如下所示:

SELECT PRTN_ID     
FROM retail_entmaster1.VACCTBRKCURR_PRT         
WHERE BRKG_CURR_DT_DT = "2022-03-23 00:00:00.000"

但是,如果视图是从子查询中选择的,如下所示:

SELECT PRTN_ID     
FROM retail_entmaster1.VACCTBRKCURR_PRT         
WHERE BRKG_CURR_DT_DT =        
    (SELECT MAX(BRKG_CURR_DT_DT)   
    FROM retail_entmaster1.VACCTBRKCURR_PRT)

然后运行失败,并出现上面的错误。我找不到任何证据表明AWS中任何地方都不支持hive视图的子查询,所以我很困惑为什么会出现这个错误。

46qrfjad

46qrfjad1#

将subqry转换为内部连接

SELECT PRTN_ID     
FROM retail_entmaster1.VACCTBRKCURR_PRT             
join 
(SELECT MAX(BRKG_CURR_DT_DT) mx_BRKG_CURR_DT_DT FROM retail_entmaster1.VACCTBRKCURR_PRT) rs on BRKG_CURR_DT_DT =  mx_BRKG_CURR_DT_DT

相关问题