我有一个SQOOP作业,可以将数据直接从Oracle数据库加载到Microsoft Azure HDInsights Hadoop集群上的Hive架构。虽然,在导入基于 char 的字段(例如varchar变量)时,我发现它们是作为字符串导入的。这没什么不对,它对我来说很完美。但是,有一个小的不方便,即Hive数据库中的字符串字段占用该字段的最大长度。这意味着每次我在该字段上执行条件时都使用TRIM函数。是否有任何SQOOP参数或变通方法允许我不使用TRIM?
祝你好运
答案 0 :(得分:0)
您也可以使用varchar数据类型导入数据,以避免将其转换为字符串。您可以使用--map-column-hive
参数来实现此目的。此参数将覆盖已配置列的SQL类型到Hive类型的默认映射。
用法:
sqoop import <generic args> --map-column-hive column_name=varchar(200)