首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Snappydata SQL WITH语句

Snappydata SQL WITH语句
EN

Stack Overflow用户
提问于 2017-09-12 06:27:20
回答 2查看 126关注 0票数 1

我正在使用Snappydata运行一些查询,并使用sql with语句:

代码语言:javascript
复制
WITH x AS (
  SELECT DISTINCT col_a, col_b
  FROM table_a
)
INSERT INTO table_b
SELECT x.col_a, x.col_b
FROM x
  JOIN table_c c ON x.col_a = c.col_a and x.col_b = c.col_b

这段sql代码在本地模式下运行良好,但是当我将编译后的jar文件提交到Snappydata集群时,它抛出一个错误,指出表"APP.X“不存在。

代码语言:javascript
复制
org.apache.spark.sql.TableNotFoundException: Table 'APP.X' not found;

知道为什么会这样吗?

EN

回答 2

Stack Overflow用户

发布于 2017-09-12 15:33:06

这是由于近似查询处理(AQP)规则解析试图过早解析名称造成的已知限制。我们在运行TPC-DS查询时看到了这一点。它被修复在最新的AQP主机上,修复将在1.0中可用。目前有两种选择:

a)改成正规子查询变量:

代码语言:javascript
复制
INSERT INTO table_b
SELECT x.col_a, x.col_b
FROM (SELECT DISTINCT col_a, col_b FROM table_a) x
  JOIN table_c c 
  ON x.col_a = c.col_a 
  AND x.col_b = c.col_b

b)或者如果不使用AQP查询,则可以从产品jars目录中移出snappydata-aqp jar

票数 2
EN

Stack Overflow用户

发布于 2017-09-12 06:30:21

尝试从x添加

代码语言:javascript
复制
WITH x AS (
  SELECT DISTINCT col_a, col_b
    FROM table_a
)

INSERT 
  INTO table_b
SELECT x.col_a, 
       x.col_b
  FROM x
  JOIN table_c c 
    ON x.col_a = c.col_a 
   AND x.col_b = c.col_b
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46165177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档