这是我面临的情况。
环境:台式机 作业系统:Windows 7 已安装Apache Drill
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_111 sqlline.bat -u "jdbc:drill:zk=local"
得到了钻探提示
0: jdbc:drill:zk=local> !set outputformat csv 0: jdbc:drill:zk=local> !record "C:\Input\CSV\test_CSV.csv" 0: jdbc:drill:zk=local> select * from dfs.`C:\Input\CSV\test_Parquet.parquet` limit 1; 0: jdbc:drill:zk=local> !record
输出
Saving all output to "C:\Input\CSV\test_CSV.csv". Enter "record" with no arguments to stop it. 'field1','field2','field3','field4','field5','field6' 'B','9876','54321','123','KOHL'S CORPORATION, MEN','BOOK'
我想要什么:
我读到还有其他方法可以将镶木地板文件转换为csv,但好奇地知道如何使用Apache演练来做到这一点。
答案 0 :(得分:0)
Apache Drill可以使用CTAS命令[1]创建csv文件。默认输出格式为镶木地板,因此您必须使用store.format
会话选项[2]进行更改,但是我怀疑它是否可以解决双引号问题。
[1] https://drill.apache.org/docs/create-table-as-ctas/
[2] https://drill.apache.org/docs/create-table-as-ctas/#alter-session-command
答案 1 :(得分:0)
要使用SqlLine在双引号中存储数据,您需要在进行记录之前指出csv引号字符:
!set csvquotecharacter '"'