将配置单元表导出到csv时列数不正确

将配置单元表导出到csv时列数不正确,csv,hive,Csv,Hive,我有一个配置单元表,其中有一行包含字段,例如“一些数据,一些其他数据” 基本上,数据中有一个逗号 但是,当我将包含此数据的表导出到csv时,它将某些数据视为一列,将某些其他数据视为另一列。 因此,对于该记录,所有内容都移动了1列 例如,配置单元中的数据如下所示: col_name_1 col_name_2 col_name_3 some data,some other myname mylastname 但在csv中

我有一个配置单元表,其中有一行包含字段,例如“一些数据,一些其他数据”

基本上,数据中有一个逗号

但是,当我将包含此数据的表导出到csv时,它将某些数据视为一列,将某些其他数据视为另一列。 因此,对于该记录,所有内容都移动了1列

例如,配置单元中的数据如下所示:

 col_name_1               col_name_2         col_name_3
 some data,some other       myname          mylastname
但在csv中导出后,状态为:

col_name_1    col_name_2         col_name_3       extra_not_required_col
  some data   some other data     myname          mylastname
因此数据会以这种方式损坏。 我用于将表格导出到csv的代码是:

hive -e "set hive.cli.print.header=true;use colorado;select * from $name;" | sed 's/[\t]/,/g' >>intermediate_table.csv

如果在数据中的逗号周围添加双引号,则当CSV阅读器读取文件时,应该可以解决此问题。您可以在配置单元中使用以下命令替换它

select regexp_replace(colname_1,'\\,','","') as colname_1_transformed from table;
然后,您的数据将看起来像这样,CSV阅读器也应该能够处理:

一些数据