我需要将查询导出到文件。我正在尝试
(SELECT A.*
FROM dfs.ff.`filea.json` A
LEFT JOIN dfs.ff.`fileb.json` B ON (A.quote = B.quote)
WHERE B.C IS NULL) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE LOCATION dfs.ff.`result.csv`;
但是却抛出了一个错误
答案 0 :(得分:0)
使用BCP实用程序
bcp "SELECT A.*
FROM dfs.ff.`filea.json` A
LEFT JOIN dfs.ff.`fileb.json` B ON (A.quote = B.quote)
WHERE B.C IS NULL" queryout "D:\MyTable.csv" -c -t , -S SERVERNAME -T
-c参数指定字符输出,而不是SQL的本机二进制格式;默认为制表符分隔值,但-t将字段终止符更改为逗号。 -T指定Windows身份验证(“可信连接”),否则使用-U MyUserName -P MyPassword。
默认情况下,这不会导出列标题。您需要使用UNION ALL作为标题
OR
Use SQLCMD
SQLCMD -S SERVERNAME -E -Q "SELECT A.*
FROM dfs.ff.`filea.json` A
LEFT JOIN dfs.ff.`fileb.json` B ON (A.quote = B.quote)
WHERE B.C IS NULL"
-s "," -o "D:\MyData.csv"
另外
答案 1 :(得分:0)
使用Drill shell命令!记录将所有输出记录到指定文件。 http://drill.apache.org/docs/configuring-the-drill-shell/
答案 2 :(得分:0)
为此目的使用CTAS。不要忘记定义store.format
(默认为镶木地板)。文档编号:https://drill.apache.org/docs/create-table-as-ctas/。