Apache Drill: как запросить файл Parquet и вывести результат в файл CSV - PullRequest
0 голосов
/ 03 октября 2018

Вот ситуация, с которой я сталкиваюсь.

Среда: Настольная ОС: Windows 7 Установленная Apache Drill

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_111
sqlline.bat -u "jdbc:drill:zk=local"

Получил приглашение Drill

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'

Что яхотелось бы:

Значения заключать в двойные кавычки, а не в одинарные кавычки Попробовал! установить outputformat txt, а также значения в двойных кавычках

Я прочиталчто есть другие способы конвертировать паркетный файл в csv, но любопытно узнать, как это сделать, используя Apache Drill.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Для хранения данных в двойных кавычках с использованием SqlLine необходимо указать символ кавычки csv перед выполнением записи:

!set csvquotecharacter '"'
0 голосов
/ 03 октября 2018

Apache Drill может создавать CSV-файлы с помощью команды CTAS [1].Формат вывода по умолчанию - паркет, поэтому вам придется изменить его, используя 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

...