以直线方式将hql输出导出到csv

vwhgwdsa  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(359)

我正在尝试使用以下命令将hql输出以直线方式导出到csv:

beeline -u "jdbc:hive2://****/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2"?tez.queue.name=devices-jobs  --outputformat=csv2 -e "use schema_name; select * from table_name where open_time_new>= '2020-07-13' and open_time_new < '2020-07-22'" > filename.csv

问题是表中的某些列值包含逗号,这会将同一列的数据推送到下一列值。例如:

| abcd  | as per data,outage fault,xxxx. 
| xyz  |as per the source,ghfg,hjhjg.

以上数据将保存为4列,而不是2列。需要帮助!

zy1mlcev

zy1mlcev1#

尝试使用本地目录的方法:

insert overwrite local directory '/tmp/local_csv_report'
row format delimited fields terminated by "," escaped by '\\'
select * 
  from table_name 
 where open_time_new >= '2020-07-13' 
   and open_time_new < '2020-07-22'

这将在本地服务器下创建几个csv文件 /tmp/local_csv_report 目录,所以使用简单 cat 然后将结果合并到一个文件中。

相关问题