multi table 加入 apache drill

multi table join with apache drill

我正在尝试加入来自 mysql 的一个 table 和来自 hdfs 的 2 个 csv 文件,因此作为一个整体,我正在尝试使用 apache drill 加入 3 tables。

当我加入 mysql table 和 1 个 dfs 文件时它有效,但当我尝试加入 1 mysql table 和 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))

[Error Id: 90c4ac92-83e9-4b23-bcd9-5c1535cd58ad on inpunpclx1825e.kih.kmart.com:31010] org.apache.drill.common.exceptions.UserRemoteException: PARSE ERROR: Non-query expression encountered in illegal context SQL Query 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)) ^

试试这个方法:

SELECT `a`.`Longitude`,`a`.`Latitude` 
FROM ((`MySQL`.`dummy`.`accident_05_07` `a` 
INNER JOIN `dfs`.`/user/drill/accidents_2009_to_2011.csv` `b` 
ON `a`.`Longitude`=`b`.`Longitude`) 
INNER JOIN `dfs`.`/user/drill/accidents_2012_to_2014.csv` `c` 
ON `a`.`Longitude`=`c`.`Longitude`)