我正在使用beeline从配置单元导出查询结果,下面是我的命令:
beeline -u 'jdbc:hive2://myhost.com:10000/mydb;principal=hive/myhost.COM' --incremental=true --silent=true --outputformat=dsv --disableQuotingForSV=true --delimiterForDSV=\, --showHeader=false --nullemptystring=true -f myquery.hql --hiveconf DT_ID=${DT_ID} > ${spoolFile}
我的问题是:
SELECT id, concat('"',c_name,'"'), app_name from mytab where dt_id='${hiveconf:DT_ID}';
但对于列值中有字段分隔符(,)的字段,会得到如下结果:
66,**^@**"(Chat\, Social\, Music\, Utilities)"**^@**,Default
注意^@。为什么要来?怎样才能避免呢?那个角色是什么?如果是quote,我将拥有它,这样我就可以删除查询中的concat。我试着和你玩 --disableQuotingForSV=true/false
. 但这对我没有帮助。
暂无答案!
目前还没有任何答案,快来回答吧!