数据湖探索 DLI-使用Hive语法创建OBS表:示例7:创建表并设置多字符的分割符

时间:2024-07-01 21:07:49

示例7:创建表并设置多字符的分割符

示例说明:创建了一个名为table5的Hive表。表指定序列化和反序列化类ROW FORMAT SERDE,字段之间的分隔符被设置为/#,并且数据以文本文件格式存储。

  • 只有指定ROW FORMAT SERDE为org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe时,字段分隔符才支持设置为多字符。
  • 只有Hive OBS表支持在建表时指定多字符的分隔符,Hive DLI 表不支持在建表时指定多字符的分隔符。
  • 指定了多字符分隔的表不支持INSERT、IMPORT等写数语句。如需添加数据,请将数据文件直接放到表对应的OBS路径下即可,本例中,将数据文件放到obs://bucketName/filePath下。
  • 本例指定字段分割符 field.delim'为“/#”。
  • ROW FORMAT功能只支持textfile类型的表。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    CREATE TABLE IF NOT EXISTS table5 (
        col_1   STRING,
        col_2   INT
    )
    ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
    WITH SERDEPROPERTIES (
      'field.delim' = '/#'
    )
    STORED AS textfile
    LOCATION 'obs://bucketName/filePath';
    
support.huaweicloud.com/sqlref-spark-dli/dli_08_0077.html