gpt4 book ai didi

使用 CTE 创建的 Hadoop View 行为不当

转载 作者:可可西里 更新时间:2023-11-01 15:55:59 26 4
gpt4 key购买 nike

这是 View 定义(运行良好。 View 已创建)

CREATE OR REPLACE VIEW my_view 
AS WITH Q1
AS (SELECT MAX(LOAD_DT) AS LOAD_DT FROM load_table WHERE UCASE(TBL_NM) = 'FACT_TABLE')
SELECT F.COLUMN1
, F.COLUMN2
FROM Q1, FACT_TABLE F
WHERE Q1.LOAD_DT = F.TRAN_DT
;

但是,运行时

SELECT * from my_view;

收到以下错误信息:失败:SemanticException 行 N:M 表在 View my_view 的定义中未找到“Q1”....等等。

看起来 hive 正试图将 Q1(即 CTE)视为物理表。有什么想法可以解决这个问题吗?

谢谢你,娜塔莉亚

最佳答案

我们在我们的环境中遇到过类似的问题。要回答您的问题,这是 Hive 中的一个错误。幸运的是,我们有一个解决方法来让它工作。如果您使用的是 impala 和 hive,并且两者都使用相同的 Metastore。在 Impala 中创建 View ,它将适用于 Hive 和 Impala。

原因:Hive 将您的数据库名称附加到创建的导致问题的 CTE 引用。

谢谢,新

关于使用 CTE 创建的 Hadoop View 行为不当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43837369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com