On Mon, Dec 26, 2016 at 7:22 AM, Bob Rudis <[email protected]> wrote: > I guess I read more into "ANSI SQL" than I should have. >
Or not. Could be a problem with Drill, too. > While it does > handle some complex SQL generated by dplyr (which you can see at > https://github.com/hrbrmstr/sergeant > Btw... this is really pretty danged awesome. > if you scroll down) there are > instances when if, say you try to filter and left join two different > tables it generates valid SQL that Drill dislikes. You can see the > dplyr that fails here: http://rpubs.com/hrbrmstr/drillex > > dplyr generates the following SQL: > > SELECT * > FROM ( SELECT * > FROM ( SELECT * > FROM dfs.tmp.`/in/c.parquet` > WHERE ( cyl = 6.0 ) ) xpintqtlzw > LEFT JOIN dfs.tmp.`/in/b.json` > USING ( car ) ) fyxhnlrrca > LIMIT 10 > > The error message (if one doesn't want to go to the rpubs URL) is: > > SYSTEM ERROR: DrillRuntimeException: Join only supports implicit > casts between > 1. Numeric data > 2. Varchar, Varbinary data > 3. Date, Timestamp data Left type: INT, Right type: VARCHAR. > Add explicit casts to avoid this error > I haven't been able to dig into this, but this looks pretty straightforward to replicate.
