是否可以在没有TRIM功能的情况下使用SQOOP导入的表?

时间:2017-10-18 15:35:52

标签: hadoop hive trim hdinsight sqoop

我有一个SQOOP作业,可以将数据直接从Oracle数据库加载到Microsoft Azure HDInsights Hadoop集群上的Hive架构。虽然,在导入基于 char 的字段(例如varchar变量)时,我发现它们是作为字符串导入的。这没什么不对,它对我来说很完美。但是,有一个小的不方便,即Hive数据库中的字符串字段占用该字段的最大长度。这意味着每次我在该字段上执行条件时都使用TRIM函数。是否有任何SQOOP参数或变通方法允许我不使用TRIM?

祝你好运

1 个答案:

答案 0 :(得分:0)

您也可以使用varchar数据类型导入数据,以避免将其转换为字符串。您可以使用--map-column-hive参数来实现此目的。此参数将覆盖已配置列的SQL类型到Hive类型的默认映射。

用法:

sqoop import <generic args> --map-column-hive column_name=varchar(200)