gpt4 book ai didi

hadoop - 如何在配置单元 cli/beeline 中将 textinputformat.record.delimiter 重置为其默认值?

转载 作者:可可西里 更新时间:2023-11-01 14:19:43 26 4
gpt4 key购买 nike

textinputformat.record.delimiter 设置为非默认值,对于加载多行文本很有用,如下面的演示所示。
但是,我无法在不退出 cli 并重新打开它的情况下将此参数设置回其默认值。

以下选项均无效(其他一些试验也无效)

set textinputformat.record.delimiter='\n';
set textinputformat.record.delimiter='\r';
set textinputformat.record.delimiter='\r\n';
set textinputformat.record.delimiter='
';

reset;

有什么想法吗?

谢谢

演示

create table mytable (mycol string);
insert into mytable select concat('Hello',unhex('A'),'world');
select concat('>>>',mycol,'<<<') as mycol from mytable;

NewLine被解释为记录分隔符,导致插入2条记录

+-------------+
| mycol |
+-------------+
| >>>Hello<<< |
| >>>world<<< |
+-------------+

set textinputformat.record.delimiter='\0';

truncate table mytable;
insert into mytable select concat('Hello',unhex('A'),'world');
select concat('>>>',mycol,'<<<') as mycol from mytable;

整个文本作为一条记录插入

+----------+
| mycol |
+----------+
| >>>Hello |
| world |
| <<< |
+----------+

尝试将定界符改回换行符

set textinputformat.record.delimiter='\n';

truncate table mytable;
insert into mytable select concat('Hello',unhex('A'),'world');
select concat('>>>',mycol,'<<<') as mycol from mytable;

仍然得到相同的结果

+----------+
| mycol |
+----------+
| >>>Hello |
| world |
| <<< |
+----------+

最佳答案

您检查过“textinputformat.record.delimiter”变量状态了吗?真的变了吗?您可以在没有任何值的情况下调用 set textinputformat.record.delimiter
如果它被更改但不起作用,您肯定可以在问题跟踪器中创建问题。作为将分隔符参数设置回默认值的解决方法,您可以尝试使用 RESET 命令。它会将所有属性重置为默认值,但您的情况可能无法接受此解决方案。

关于hadoop - 如何在配置单元 cli/beeline 中将 textinputformat.record.delimiter 重置为其默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42672451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com