【问题标题】:hive not taking values蜂巢不取值
【发布时间】:2016-12-20 10:46:21
【问题描述】:

我正在尝试将文件导入配置单元。 样本数据如下

1::Toy Story (1995)::Animation|Children's|Comedy 
2::Jumanji (1995)::Adventure|Children's|Fantasy
3::Grumpier Old Men (1995)::Comedy|Romance
4::Waiting to Exhale (1995)::Comedy|Drama

我的表声明如下

create table movies(id int,title string,genre string) row format delimited fields terminated by '::'; 

但加载数据后,我的表格只显示前两个字段的数据。

Total MapReduce CPU Time Spent: 1 seconds 600 msec
OK
1       Toy Story (1995)    
2       Jumanji (1995)  
3       Grumpier Old Men (1995) 
4       Waiting to Exhale (1995)    
Time taken: 22.087 seconds

任何人都可以帮助我了解为什么会发生这种情况或如何调试它。

【问题讨论】:

    标签: hadoop hive


    【解决方案1】:

    Hive 行分隔符默认只有一个字符,因为你有两个字符 '::' 请尝试使用 MultiDelimitSerDe 创建表

    查询:

    CREATE TABLE movies (id int,title string,genre string) ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' 
    WITH SERDEPROPERTIES ("field.delim"="::")
    STORED AS TEXTFILE;
    

    输出:

    hive> select * from movies;
    OK
    1   Toy Story (1995)    Animation|Children's|Comedy 
    2   Jumanji (1995)  Adventure|Children's|Fantasy
    3   Grumpier Old Men (1995) Comedy|Romance
    4   Waiting to Exhale (1995)    Comedy|Drama
    

    请参考类似帖子: Load data into Hive with custom delimiter

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多