问题:sqoop如何将数据export到dm8数据库?
解决:需要指定驱动
方法:
bin/sqoop export \
--driver dm.jdbc.driver.DmDriver \
--connect jdbc:dm://hadoop02:5236/jck?useSSL=false\&characterEncoding=UTF-8 \
--table zy \
--username dmuser \
--password dmpassword \
--export-dir /warehouse/database/jck/zy \
--input-fields-terminated-by '\t' \
--input-lines-terminated-by '\n'
注意:
指定driver就不能使用allowinsert,但达梦数据库必须要指定driver,只能使用truncate table先清数据表
1、当指定update-key,且关系型数据库表存在主键时:
A、allowinsert模式时,为更新目标数据库表存的内容,并且原来不存在的数据也导入到数据库表;
B、updateonly模式时,为更新目标数据库表存的内容,并且原来不存在的数据也不导入到数据库表;
2、当指定update-key,且关系型数据库表不存在主键时:
A、allowinsert模式时,为全部数据追加导入到数据库表;
B、updateonly模式时,为更新目标数据库表存的内容,并且原来不存在的数据也不导入到数据库表;
3、当不指定update-key,且关系型数据库表存在主键时:
A、allowinsert模式时,报主键冲突,数据无变化;
B、updateonly模式时,报主键冲突,数据无变化;
4、当不指定update-key,且关系型数据库表不存在主键时:
A、allowinsert模式时,为全部数据追加导入到数据库表;
B、updateonly模式时,为全部数据追加导入到数据库表;
参考:
https://blog.51cto.com/u_15057823/4338460