【发布时间】:2018-03-22 09:55:52
【问题描述】:
我正在尝试从 mysql 加入一个表,从 hdfs 加入 2 个 csv 文件,所以总的来说,我正在尝试使用 apache Drill 加入 3 个表。
当我加入 mysql 表和 1 个 dfs 文件时它可以工作,但当我尝试加入 1 个 mysql 表和 2 个 dfs csv 文件时失败。请帮忙。
代码如下:
select CAST(a.Longitude AS DOUBLE),CAST(a.Latitude AS DOUBLE)
from ((MySQL.dummy.`accident_05_07` as a
inner join dfs.`/user/drill/accidents_2009_to_2011.csv` as b
on a.Longitude=CAST(b.Longitude AS DOUBLE))
inner join dfs.`/user/drill/accidents_2012_to_2014.csv` as c
on a.Longitude=CAST(c.Longitude AS DOUBLE))
[错误 ID:90c4ac92-83e9-4b23-bcd9-5c1535cd58ad 开启 inpunpclx1825e.kih.kmart.com:31010] org.apache.drill.common.exceptions.UserRemoteException:解析错误: 非法上下文中遇到的非查询表达式 SQL Query select CAST(a.Longitude AS DOUBLE),CAST(a.Latitude AS DOUBLE) from((MySQL.dummy.
accident_05_07作为内连接 dfs./user/drill/accidents_2009_to_2011.csvas b on a.Longitude=CAST(b.Longitude AS DOUBLE)) 内连接 dfs./user/drill/accidents_2012_to_2014.csvas c on a.Longitude=CAST(c.Longitude AS DOUBLE)) ^
【问题讨论】:
-
你能展示你的代码吗?
-
用代码编辑了问题。
-
你找到解决办法了吗@LelioFaieta
-
同时使用堆栈跟踪发布错误消息将有助于识别问题。
-
您的查询中的问题是您的额外括号。如果您删除它们,您的 sql 将运行。连接将按顺序从第一个表到最后一个表。
标签: mysql hdfs apache-drill