【问题标题】:In Apache Hive, what is the difference between "ESCAPED BY" and "FIELDS TERMINATED BY"?在 Apache Hive 中,“ESCAPED BY”和“FIELDS TERMINATED BY”有什么区别?
【发布时间】:2019-02-19 23:43:04
【问题描述】:

在 Apache Hive 中,您能否向我解释一下命令“ESCAPED BY”和“FIELDS TERMINATED BY”之间的区别?我尝试在网上查看文档,内容有限,根本没有解释清楚。

请指教。

【问题讨论】:

    标签: hive


    【解决方案1】:

    在hive中创建TABLE时,常用的有两个参数:“FIELDS TERMINATED BY”和“ESCAPED BY”。 "FIELDS TERMINATED BY" 用于分隔列,但是,"ESCAPED BY" 适用于单个列的值。 比如有一行数据

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

    在创建表格时,您希望通过','分隔列,但您还希望将“456,代码”保持为一个整体,

    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"
    

    【讨论】:

      猜你喜欢
      • 2021-03-24
      • 2017-12-13
      • 1970-01-01
      • 2017-01-20
      • 2011-03-05
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多