从mysql导入数据
我正在尝试将数据从从mysql导入数据,mysql,apache-spark,pyspark,dst,Mysql,Apache Spark,Pyspark,Dst,我正在尝试将数据从mysql导入pyspark。我可以从mysql到pyspark获取数据作为数据帧。但是数据框在daylightsavings时间内显示时间戳列的错误时间 下面是夏令时tTme期间获取数据的表的数据 MySQL数据 id Package_time System_time PACKAGE GROUP 1 3/12/2017 2:19:51 AM 2017-03-
mysql
导入pyspark
。我可以从mysql
到pyspark
获取数据作为数据帧。但是数据框在daylightsavings
时间内显示时间戳列的错误时间
下面是夏令时tTme期间获取数据的表的数据
MySQL数据
id Package_time System_time PACKAGE GROUP
1 3/12/2017 2:19:51 AM 2017-03-11 18:13:43.577 TEST_1 STATUS
2 3/12/2017 2:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
3 3/12/2017 2:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
4 3/12/2017 2:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
5 3/12/2017 2:19:54 AM 2017-03-11 18:13:44.611 TEST_1 STATUS
id Package_time System_time PACKAGE GROUP
1 3/12/2017 3:19:51 AM 2017-03-11 18:13:43.577 TEST_1 STATUS
2 3/12/2017 3:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
3 3/12/2017 3:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
4 3/12/2017 3:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
5 3/12/2017 3:19:54 AM 2017-03-11 18:13:44.611 TEST_1 STATUS
PySpark数据
id Package_time System_time PACKAGE GROUP
1 3/12/2017 2:19:51 AM 2017-03-11 18:13:43.577 TEST_1 STATUS
2 3/12/2017 2:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
3 3/12/2017 2:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
4 3/12/2017 2:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
5 3/12/2017 2:19:54 AM 2017-03-11 18:13:44.611 TEST_1 STATUS
id Package_time System_time PACKAGE GROUP
1 3/12/2017 3:19:51 AM 2017-03-11 18:13:43.577 TEST_1 STATUS
2 3/12/2017 3:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
3 3/12/2017 3:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
4 3/12/2017 3:19:53 AM 2017-03-11 18:13:43.577 TEST_1 ALARM
5 3/12/2017 3:19:54 AM 2017-03-11 18:13:44.611 TEST_1 STATUS
我希望pyspark
数据框中的数据与mysql
表中的数据相同。我怎样才能达到我的结果
我需要做哪些更改以确保两个数据相同
列的数据类型:
id int
package_time timestamp
system_time timestamp
package string
group strimg
啊哈!您的日期戳值具有
时间戳
数据类型。这些数据以UTC格式存储在数据库中。检索它们时,它们将根据当前时区设置转换为本地时间
在运行查询之前,您可以使用此SQL命令在UTC中获取所有查询
SET time_zone='UTC';
如果您想在太平洋当地时间显示所有的邮戳,并考虑夏令时,您可以使用以下方法:
SET time_zone = 'America/Vancouver';
SET time_zone='-08:00';
如果您希望所有的邮戳都使用太平洋标准时间,而不考虑夏令时,您可以使用以下方法:
SET time_zone = 'America/Vancouver';
SET time_zone='-08:00';
请您的问题告诉我们您的时间列的数据类型。@O.Jones我已将数据类型添加到问题中。请看一看您的解决方案将在
mysql
中运行,但我认为这在spark
@O.Jones中不起作用。我们如何设置时区来考虑夏令时