当前位置:   article > 正文

sqoop抽取mysql的mediumtext字段类型,被转成ASCII_map-column-java后跟多个字段

map-column-java后跟多个字段

在使用sqoop抽取mysql中到hive时,其中两个字段数据发生了如下变化:

 

明显该字段被转成了ascii类型,查看Mysql中数据库表字段是mediumtext类型。

估计是不识别这种类型,找了一下资料,发现可以对字段进行转义:

--map-column-java xxx=String

如果是有多个字段需要转义的话,如下所示:

--map-column-java 字段1=String,字段2=String,字段3=String,字段4=String

其中有两个小细节,字段名必须小写,字段类型转换应该用String(首字母大写)

附源码如下:

  1. sqoop import \
  2. --connect jdbc:mysql://127.0.0.1:3306/dayu_call_center \
  3. --username user\
  4. --password password \
  5. --query "SELECT * FROM dayu_call_center.CALL_ORDER_PROPERTY_SPLIT WHERE \$CONDITIONS " \
  6. --map-column-java parameter_value_replace=String,parameter_value=String \
  7. --hive-database ods \
  8. --split-by ID \
  9. --hive-table dycc_call_order_property_split_int \
  10. --target-dir /inceptor1/user/hive/warehouse/ods.db/hbxyoper/dycc_call_order_property_split_int \
  11. --delete-target-dir \
  12. --fields-terminated-by '\001' \
  13. --hive-drop-import-delims \
  14. -m 1 \
  15. --null-string '\\N' \
  16. --null-non-string '\\N' \
  17. --compression-codec org.apache.hadoop.io.compress.BZip2Codec

参考文档:Sqoop import with multiple columns for --map-column-hive - Apache Sqoop - itversity

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/745691
推荐阅读
相关标签
  

闽ICP备14008679号