hadoop—在将配置单元表写入hdfs文件时删除空格和utf

vptzau2j  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(413)

我尝试使用以下查询将配置单元表写入hdfs文件

insert overwrite  directory '<HDFS Location>' select customerid,'\t' ,f1,',', f2,',', f3,',', f4,',', f5 from  sd_cust_product_recomm_all_emailid_model2 WHERE EMAILID IS NOT NULL;

我正在获取文件中的utf和空格。输出如下:

customer1\t^Af1^A,^Af2^A,^Af3^A,^Af4^A,^Af5^A,

我需要以下格式的输出

customer1/tf1,f2,f3,f4,f5
customer2/tf1,f2,f3,f4,f5

没有空格和utf
谢谢你的帮助

14ifxucb

14ifxucb1#

默认分隔符是问题。写入文件系统的数据被序列化为文本,列之间用^a分隔。通过显式地提到字段分隔符(逗号)和行分隔符(\n),您可以解决这个问题。
插入覆盖目录“[hdfs location]”行格式分隔字段,终止于“,”行,终止于“\n”select customerid,“\t”,f1,f2,f3,f4,f5 from sd \u cust \u product \u recomm \u all \u emailid \u model2 where emailid is not null;

相关问题