2019 8

[问答] R导入数据实际时间比导入的时间多8个小时 [推广有奖]

  • 8关注
  • 1粉丝

博士生

78%

还不是VIP/贵宾

-

威望
0
论坛币
436 个
通用积分
0.0602
学术水平
5 点
热心指数
5 点
信用等级
0 点
经验
4549 点
帖子
164
精华
0
在线时间
407 小时
注册时间
2015-11-3
最后登录
2020-2-8

楼主
露露的家园2012 发表于 2018-11-24 12:41:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
1、最近R读入hive或者hdfs的数据,导入时间格式的数据时,HIVE数据中数据时间在导入R后,时间减少了8个小时,这是为什么?怎么解决?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:导入数据 Hive HIV dfs

沙发
Whig 在职认证  发表于 2018-11-24 13:33:04
是时区问题,一般在R里的话是默认使用当地时区,这样你的R里是北京时间。但一些包以及Linux系统默认是GMT时间,这样就会有8小时的时间差。你统一下时区就好。
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
露露的家园2012 发表于 2018-11-24 13:55:11
Whig 发表于 2018-11-24 13:33
是时区问题,一般在R里的话是默认使用当地时区,这样你的R里是北京时间。但一些包以及Linux系统默认是GMT时 ...
这个我采用的是DBI来读取hive中数据,但是我不知道如何统一时区,麻烦告诉我一下。我自己采用的办法就是采用lubridate包直接加8个小时,但是我觉得这样的方法不是很严谨,请问有其他更好的方法吗?谢谢!

板凳
Whig 在职认证  发表于 2018-11-24 14:05:48
露露的家园2012 发表于 2018-11-24 13:55
这个我采用的是DBI来读取hive中数据,但是我不知道如何统一时区,麻烦告诉我一下。我自己采用的办法就是采 ...
我得需要知道你的具体操作,从什么地方用什么包读取的数据

报纸
露露的家园2012 发表于 2018-11-26 14:06:00
Whig 发表于 2018-11-24 14:05
我得需要知道你的具体操作,从什么地方用什么包读取的数据
  1. library(DBI)
  2. library(lubridate)
  3. library(magrittr)
  4. [code]sc <- spark_connect(master="yarn-client", version = "1.6.0",config = conf, spark_home = "/opt/cloudera/parcels/CDH/lib/spark")
复制代码
  1. weight<-dbGetQuery(sc,"select * from PHYSICSTEST")
复制代码
[/code]

用DBI包读取hive数据

地板
Whig 在职认证  发表于 2018-11-26 15:52:54
露露的家园2012 发表于 2018-11-26 14:06
[/code]

用DBI包读取hive数据
在Hive里是正确时间,但是dbGetQuery之后时间不对了是吧?

7
露露的家园2012 发表于 2018-11-27 08:43:37
Whig 发表于 2018-11-26 15:52
在Hive里是正确时间,但是dbGetQuery之后时间不对了是吧?
是的,就是dbgetquery之后时区就变了

8
Whig 在职认证  发表于 2018-11-27 10:04:35
露露的家园2012 发表于 2018-11-27 08:43
是的,就是dbgetquery之后时区就变了
出问题的原因可能有很多,首先你检查下原始数据文件的时间是否含有时区字符串。然后在R里面看下读到的数据时间是什么时区,以及你的R环境是什么时区。明确了这三个问题就比较好办了
已有 1 人评分论坛币 收起 理由
jiangbeilu + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

9
露露的家园2012 发表于 2018-12-19 11:00:04
Whig 发表于 2018-11-27 10:04
出问题的原因可能有很多,首先你检查下原始数据文件的时间是否含有时区字符串。然后在R里面看下读到的数据 ...
我知道我linux上的时区是CST,但是在R中不知道如何显示数据时间的时区,有什么方法可用吗?
已有 1 人评分论坛币 收起 理由
jiangbeilu + 5 鼓励积极发帖讨论

总评分: 论坛币 + 5   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-10 18:21