首页 文章

如何在HIVE表创建中将STRING指定为分隔符

提问于
浏览
1

我的数据如下:

a||b||c

要获取数据,我的create table语句是:

创建表

(col1 STRING,

col2 STRING,

col3 STRING)

由“||”终止的行格式删除字段;

但这里是'|'作为分隔符不是“||” .

谁可以帮我这个事?

1 回答

  • 2

    在处理多字符分隔符字符串时,您可以使用RegexSerDe

    create table mytable (
      col1 string,
      col2 string,
      col3 string
    )
    ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
    WITH SERDEPROPERTIES (
    "input.regex" = "^([^\\|]+)\\|\\|([^\\|]+)\\|\\|([^\\|]+)$",
    "output.format.string" = "%1$s %2$s %3$s")
    STORED AS TEXTFILE
    LOCATION '/path/to/data';
    

    注意:优化正则表达式以满足您的需求

相关问题