从 mysql 导入数据
importing data from mysql
我正在尝试将数据从 mysql
导入到 pyspark
。我能够将数据从 mysql
获取到 pyspark
作为数据框。但是数据框在 daylightsavings
时间内显示时间戳列的错误时间。
以下是 table 在夏令时 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
PySpark 数据
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
table 中的数据相同。我怎样才能达到我的结果。
我需要做哪些更改才能确保两个数据相同。
列的数据类型:
id int
package_time timestamp
system_time timestamp
package string
group strimg
啊哈!您的日期戳值有 TIMESTAMP
数据类型。这些以 UTC 格式存储在您的数据库中。检索时会根据当前时区设置将它们转换为当地时间。
您可以在 运行 查询之前使用此 SQL 命令以 UTC 格式获取它们。
SET time_zone='UTC';
如果您希望所有日期戳都显示为太平洋当地时间,并考虑夏令时,您可以使用:
SET time_zone = 'America/Vancouver';
如果您想要太平洋标准时间的所有日期戳,而不考虑夏令时,您可以使用此:
SET time_zone='-08:00';
我正在尝试将数据从 mysql
导入到 pyspark
。我能够将数据从 mysql
获取到 pyspark
作为数据框。但是数据框在 daylightsavings
时间内显示时间戳列的错误时间。
以下是 table 在夏令时 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
PySpark 数据
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
table 中的数据相同。我怎样才能达到我的结果。
我需要做哪些更改才能确保两个数据相同。
列的数据类型:
id int
package_time timestamp
system_time timestamp
package string
group strimg
啊哈!您的日期戳值有 TIMESTAMP
数据类型。这些以 UTC 格式存储在您的数据库中。检索时会根据当前时区设置将它们转换为当地时间。
您可以在 运行 查询之前使用此 SQL 命令以 UTC 格式获取它们。
SET time_zone='UTC';
如果您希望所有日期戳都显示为太平洋当地时间,并考虑夏令时,您可以使用:
SET time_zone = 'America/Vancouver';
如果您想要太平洋标准时间的所有日期戳,而不考虑夏令时,您可以使用此:
SET time_zone='-08:00';