【问题标题】:Load file into hive with long text column将文件加载到带有长文本列的配置单元中
【发布时间】:2020-09-24 12:13:06
【问题描述】:

我正在尝试将.csv 文件加载到配置单元中,该文件如下所示:

我尝试使用load data inpath 's3://testinghiveme/T.csv' into table data;

但结果都是NULLS

我无法将带有大文本的数据加载到 hive 列中,我尝试在创建脚本中使用 delimited 但不起作用。

create table t(id int...)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;


hive> describe t;
OK
id                      int
posttypeid              int
acceptedanswerid        int
parentid                int
creationdate            varchar(20)
deletiondate            varchar(20)
score                   int
viewcount               int
body                    varchar(500)
owneruserid             int
ownerdisplayname        varchar(50)
lasteditoruserid        int
lasteditordisplayname   varchar(100)
lasteditdate            varchar(20)
lastactivitydate        varchar(20)
title                   varchar(100)
tags                    varchar(100)
answercount             int
commentcount            int
favoritecount           int
closeddate              varchar(20)
communityowneddate      varchar(20)

【问题讨论】:

  • 你能显示describe table吗?
  • @VamsiPrabhala我已添加。
  • @GI.JOE 如果您仔细观察,您的有效负载中有,(字段分隔符)。我认为这就是搞砸蜂巢表的原因。我认为您的文字被引号包围,如果这样我认为您最好使用opencsv serde。

标签: hadoop hive hiveql


【解决方案1】:

您需要在 DDL 中使用 CSVserde 提供的用户转义字符。 或者您可以使用逗号以外的分隔符。

【讨论】:

    猜你喜欢
    • 2020-06-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    相关资源
    最近更新 更多