在Apache Hive中,“ ESCAPED BY”和“ FIELDS TERMINATED BY”之间有什么区别?

时间:2019-02-13 00:55:49

标签: hive

在Apache Hive中,请您向我解释命令“ ESCAPED BY”和“ FIELDS TERMINATED BY”之间的区别是什么?我尝试过在线查看文档,但是这些文档是有限的,根本无法解释清楚。

请告知。

1 个答案:

答案 0 :(得分:0)

在配置单元中创建表时,通常使用两个参数:“ FIELDS TERMINATED BY”和“ ESCAPED BY”。 “ FIELDS TERMINATED BY”用于分隔列,但是“ ESCAPED BY”适用于单个列的值。 例如,有一个行数据

C0,   C1,   C2,   C3, C4, C5
123, "456, code", "", "", 236

创建表时,您希望将各个列用','隔开,但是您还希望将“ 456,code”作为一个整体保留下来,

CREATE TABLE test(
    C0 int, 
    C1 string, 
    C2 string, 
    C3 string, 
    C4 string, 
    C5 int)
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ','
ESCAPED BY ","; 

when you select * from test,you may get "456,code" other than "456", "code"