有没有办法阻止生成CR字符的直线?
问题描述:
当我将直线输出重定向到一个文件时,我可以看到生成的文件具有^ M(CR,回车符,0x0D十六进制)字符,其内部放置在第144列周围,可能是为了环绕文本输出。有没有办法阻止生成CR字符的直线?
有没有办法关闭直线?或者也许可以通知不同列宽的直线。
我:Beeline version 1.2.1000.2.5.0.0-1245 by Apache Hive
答
您可以尝试
集hive.exec.compress.output = FALSE;
INSERT OVERWRITE DIRECTORY'hdfs_dir''query_here';
当您使用LOCAL,你需要确保你正在运行,其中Hiveserver2运行的节点(机器)上的脚本/查询。如果您从另一台机器运行,它不会失败,但仍会在运行HS2的节点中创建一个文件。
这是一个不好的做法。改为使用'INSERT OVERWRITE [LOCAL] DIRECTORY'。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintothe文件系统查询 –
我不执行写入配置单元。我只是运行一个SELECT语句。 SELECT的直线输出嵌入了CR。 – paolov
'INSERT OVERWRITE LOCAL DIRECTORY'用于将查询结果转储到本地文件系统 –