首页 > 解决方案 > Hive 加载数据 OpenCSVSerde 注释控件

问题描述

如何产生问题:

  1. 创建表使用hive create SQL,如:
create table `db`.`table`(
    `field1` string,
    `field2` string,
    `field3` string
) row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde';
  1. 加载csv文件使用hive加载数据SQL,如:
load data local inpath 'my/file/path' overwrite into table `db`.`table`;

表架构将是:

field1                  string                  from deserializer
field2                  string                  from deserializer
field3                  string                  from deserializer

请注意,每个字段的注释都将是“来自反序列化器”。

我的问题: 我怎样才能摆脱这个评论或自定义评论。

标签: csvhive

解决方案


将此set hive.serdes.using.metastore.for.schema=org.apache.hadoop.hive.serde2.OpenCSVSerde;参数设置在您的蜂巢外壳中,然后您就可以拥有empty comment(or) custom comment

hive> set hive.serdes.using.metastore.for.schema=org.apache.hadoop.hive.serde2.OpenCSVSerde;

hive> create table `db`.`table`(
    `field1` string COMMENT '',
    `field2` string COMMENT 'fiel2 comment',
    `field3` string COMMENT 'field3 comment'
) row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde';

hive> desc formatted table;

OK
# col_name              data_type               comment

field1                  string
field2                  string                  field2 comment
field3                  string                  field3 comment

推荐阅读