sqoop导入mysql数据到hive/HDFS,timestamp类型数据改变13小时

这是mysql时区问题

不管差了几小时,就是时区的问题

先用date -R查询本地时区
在这里插入图片描述
+0800 表示是东八区

在这里插入图片描述
时间格式是CST时间

然后在mysql中查看时区
在这里插入图片描述
此时time_zone的值应该显示为SYSTEM(上图是我已经更改后的)

问题就出在这里,CST时间定义其实很混乱,很多人认为是中国标准时间,其实不然。我们要看time_zone的具体数值,需要将mysql中的time_zone改为+08:00

修改分为3部:

  1. set global time_zone = ‘+08:00’;
  2. set time_zone = ‘+08:00’;
  3. flush priviledges;

问题解决。

参考博文:https://blog.csdn.net/nwpu_geeker/article/details/80155423
https://blog.csdn.net/qq_30553235/article/details/79612824

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,要将HDFS上的数据导入Hive中,可以使用Sqoop工具。Sqoop是一个用于在Hadoop和关系型数据库之间进行数据传输的工具。 以下是使用Sqoop导入HDFS数据Hive的一般步骤: 1. 确保您已经安装并配置好了SqoopHive。 2. 在终端中使用以下命令执行Sqoop导入操作: ``` sqoop import \ --connect jdbc:mysql://mysql_host:port/database \ --username username \ --password password \ --table table_name \ --hive-import \ --hive-table hive_table_name \ --hive-overwrite ``` 其中,`mysql_host`是MySQL数据库的主机名,`port`是MySQL的端口号,`database`是要导入数据库名称,`username`和`password`是连接MySQL所需的用户名和密码,`table_name`是要导入MySQL表名,`hive_table_name`是要在Hive中创建的表名。 3. 根据需要,您可以为Sqoop导入操作提供其他参数,如`--target-dir`来指定HDFS中的目标目录,以及其他Sqoop支持的参数。可以使用`sqoop import --help`命令查看完整的参数列表。 4. 执行命令后,Sqoop将会从MySQL数据库中抽取数据,并将其存储在HDFS上的目标目录中。然后,它将自动在Hive中创建一个与MySQL表结构相匹配的表,并将数据加载到该表中。 请注意,上述命令中的参数和示例是基于MySQL数据库的。如果您使用其他类型的关系型数据库,请根据需要修改连接字符串和其他参数。 希望这些信息对您有所帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值