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`)
我正在尝试加入来自 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`)