从sql server到配置单元的sqoop导入将日期类型列减少2天

xdnvmnnf  于 2021-06-03  发布在  Sqoop
关注(0)|答案(3)|浏览(329)

数据库中有一个表 insertdate 是“日期”类型。但是,当我使用sqoop将表导入配置单元时,配置单元表中的值正在递减。
例子
rdbms-->insertdate='2013-04-01'
配置单元-->插入日期=“2013-03-30”
我已使用以下命令导入数据:

sqoop import --connect 'jdbc:sqlserver://localhost;username=XXXXX;password=XXXXXXX;database=XXXXXXXXXX'--table tbl_name \
 --warehouse-dir /user/hive/warehouse --m 1 \
 --hive-import --hive-database db_name --hive-overwrite --null-string '\\N' --null-non-string '\\N' --hive-drop-import-delims
zlwx9yxi

zlwx9yxi1#

问题不在于sqoop,而在于sqlserver的jdbc驱动程序。
检查相关问题-日期始终为两天
我认为你在 sqljdbc4.jar/sqoop/lib .
使用 sqljdbc41.jar 或者更新的来解决这个问题。
( sqljdbc41.jar 是用java 7编译的)

kq4fsx7k

kq4fsx7k2#

在mysql中使用参数:-d mapreduce.map.java.opts=“-duser.timezone=gmt”解决
sqoop import-d mapreduce.map.java.opts=“-duser.timezone=gmt”
--连接jdbc:mysql://主机名/位置
--用户名-p
--表vw\u location\u history\u for \u hadoop
--目标目录/apps/hive/warehouse/test.db/location\h
--配置单元表test.location\u层次结构
--以“,”结尾的字段
--配置单元导入
--删除目标目录
--米1

mm5n2pyu

mm5n2pyu3#

它在添加sqljdbc41.jar之后工作。

相关问题