我曾使用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的外部表时划分字段?
答案 0 :(得分:2)
如果要避免使用默认分隔符,请在Sqoop作业中使用--fields-terminated-by
。
--fields-terminated-by
- 此参数用于输出中的字段分隔符。
示例:--fields-terminated-by |
然后通过FIELDS TERMINATED BY ‘|’