如果字段值具有逗号分隔值,如何创建外部Hive表

时间:2017-08-03 08:59:56

标签: hive sqoop

我曾使用sqoop-import命令将数据从teradata sqoop到Hive。 Sqoop-import命令用逗号(,)作为分隔符创建一个文本文件。

在Sqooping之后,我创建了一个外部表,如下所示:

CREATE EXTERNAL TABLE IF NOT EXISTS employee ( eid int, name String,
salary String, description String)
COMMENT ‘Employee details’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
STORED AS TEXTFILE;

但描述栏的值如下:" abc,xyz,mnl"。因此,将数据加载到配置单元表中是不合适的。然后,如何在sqooping时使用逗号以外的分隔符创建文本文件。

然后如何在创建Hive的外部表时划分字段?

1 个答案:

答案 0 :(得分:2)

如果要避免使用默认分隔符,请在Sqoop作业中使用--fields-terminated-by

--fields-terminated-by - 此参数用于输出中的字段分隔符。

示例:--fields-terminated-by |

然后通过FIELDS TERMINATED BY ‘|’

更改create table语句中的字段分隔符