embulk-input-mysql의 시간 편차 요약
4993 단어 Embulkembulk-input-mysql
조사의 계기
Embulk에서 MySQL에서 Datetime이나 Timestamp를 취득하면 DB가 일본 시간(+900)인데 Embulk에서는 UTC(+000)가 된다.
이 UTC 변환은, 어느 장소의 타임 존을 사용해 변환하고 있는지 모르기 때문에 조사해 보았다.
MySQL 조사 데이터
JST의 경우mysql> desc dt;
+-------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| d | datetime | YES | | NULL | |
| t | timestamp | YES | | NULL | |
+-------+-----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | JST |
| time_zone | SYSTEM | <-- SYSTEMはsystem_time_zoneの設定に倣うという意味
+------------------+--------+
mysql> select * from dt;
+---------------------+---------------------+
| d | t |
+---------------------+---------------------+
| 2019-03-25 13:14:00 | 2019-03-25 13:14:00 |
+---------------------+---------------------+
UTC의 경우mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM | <-- SYSTEMはsystem_time_zoneの設定に倣うという意味
+------------------+--------+
mysql> select * from dt;
+---------------------+---------------------+
| d | t |
+---------------------+---------------------+
| 2019-03-25 13:14:00 | 2019-03-25 04:14:00 |
+---------------------+---------------------+
Embulk 버전 및 yml
root@9d86773c89eb:/home/embulk# embulk --help
Embulk v0.9.16
in:
type: mysql
host: mysql_host
user: root
password: pass
database: embulk
# 今はTZが未設定。下記をそれぞれ有効化して変化を調べる
# options: {useLegacyDatetimeCode: false, serverTimezone: Etc/UTC}
# options: {useLegacyDatetimeCode: false, serverTimezone: Asia/Tokyo}
query: "select d, t from dt"
목록
DB 서버
Embulk 서버
Embulk 설정
DB:datetime
DB:timestamp
Embulk:datetime
Embulk:timestamp
시간차
메모
UTC
UTC
지정되지 않음
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 13:14:00 UTC
2019-03-25 04:14:00 UTC
시간 그대로
UTC
UTC
Asia/Tokyo
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 04:14:00 UTC
2019-03-24 19:14:00 UTC
-9시간
Embulk 설정이 좋다.
UTC
Asia/Tokyo
지정되지 않음
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 13:14:00 UTC
2019-03-25 04:14:00 UTC
시간 그대로
Embulk 서버의 시간대는 무시합니다.
UTC
Asia/Tokyo
Asia/Tokyo
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 04:14:00 UTC
2019-03-24 19:14:00 UTC
-9시간
JST
UTC
지정되지 않음
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
DB의 시간대가 좋다.
JST
UTC
Asia/Tokyo
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
Asia/Tokyo
지정되지 않음
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
Asia/Tokyo
Asia/Tokyo
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
UTC
UTC
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 13:14:00 UTC
2019-03-25 13:14:00 UTC
시간 그대로
Embulk 설정에서 DB 시간대를 덮어쓰기
JST
Asia/Tokyo
UTC
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 13:14:00 UTC
2019-03-25 13:14:00 UTC
시간 그대로
※추기 위의 표는 개행이 들어가 보이지 않기 때문에 화상화
요약
MySQL이 채용하고 있는 타임 존을 사용해 UTC화하고 있다.
그러나 Embulk측의 serverTimezone
로 타임 존의 덧쓰기를 할 수 있다.
Reference
이 문제에 관하여(embulk-input-mysql의 시간 편차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/a4_nghm/items/549ae7ba343b2cecf78c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
JST의 경우
mysql> desc dt;
+-------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| d | datetime | YES | | NULL | |
| t | timestamp | YES | | NULL | |
+-------+-----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | JST |
| time_zone | SYSTEM | <-- SYSTEMはsystem_time_zoneの設定に倣うという意味
+------------------+--------+
mysql> select * from dt;
+---------------------+---------------------+
| d | t |
+---------------------+---------------------+
| 2019-03-25 13:14:00 | 2019-03-25 13:14:00 |
+---------------------+---------------------+
UTC의 경우
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM | <-- SYSTEMはsystem_time_zoneの設定に倣うという意味
+------------------+--------+
mysql> select * from dt;
+---------------------+---------------------+
| d | t |
+---------------------+---------------------+
| 2019-03-25 13:14:00 | 2019-03-25 04:14:00 |
+---------------------+---------------------+
Embulk 버전 및 yml
root@9d86773c89eb:/home/embulk# embulk --help
Embulk v0.9.16
in:
type: mysql
host: mysql_host
user: root
password: pass
database: embulk
# 今はTZが未設定。下記をそれぞれ有効化して変化を調べる
# options: {useLegacyDatetimeCode: false, serverTimezone: Etc/UTC}
# options: {useLegacyDatetimeCode: false, serverTimezone: Asia/Tokyo}
query: "select d, t from dt"
목록
DB 서버
Embulk 서버
Embulk 설정
DB:datetime
DB:timestamp
Embulk:datetime
Embulk:timestamp
시간차
메모
UTC
UTC
지정되지 않음
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 13:14:00 UTC
2019-03-25 04:14:00 UTC
시간 그대로
UTC
UTC
Asia/Tokyo
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 04:14:00 UTC
2019-03-24 19:14:00 UTC
-9시간
Embulk 설정이 좋다.
UTC
Asia/Tokyo
지정되지 않음
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 13:14:00 UTC
2019-03-25 04:14:00 UTC
시간 그대로
Embulk 서버의 시간대는 무시합니다.
UTC
Asia/Tokyo
Asia/Tokyo
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 04:14:00 UTC
2019-03-24 19:14:00 UTC
-9시간
JST
UTC
지정되지 않음
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
DB의 시간대가 좋다.
JST
UTC
Asia/Tokyo
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
Asia/Tokyo
지정되지 않음
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
Asia/Tokyo
Asia/Tokyo
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
UTC
UTC
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 13:14:00 UTC
2019-03-25 13:14:00 UTC
시간 그대로
Embulk 설정에서 DB 시간대를 덮어쓰기
JST
Asia/Tokyo
UTC
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 13:14:00 UTC
2019-03-25 13:14:00 UTC
시간 그대로
※추기 위의 표는 개행이 들어가 보이지 않기 때문에 화상화
요약
MySQL이 채용하고 있는 타임 존을 사용해 UTC화하고 있다.
그러나 Embulk측의 serverTimezone
로 타임 존의 덧쓰기를 할 수 있다.
Reference
이 문제에 관하여(embulk-input-mysql의 시간 편차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/a4_nghm/items/549ae7ba343b2cecf78c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
root@9d86773c89eb:/home/embulk# embulk --help
Embulk v0.9.16
in:
type: mysql
host: mysql_host
user: root
password: pass
database: embulk
# 今はTZが未設定。下記をそれぞれ有効化して変化を調べる
# options: {useLegacyDatetimeCode: false, serverTimezone: Etc/UTC}
# options: {useLegacyDatetimeCode: false, serverTimezone: Asia/Tokyo}
query: "select d, t from dt"
DB 서버
Embulk 서버
Embulk 설정
DB:datetime
DB:timestamp
Embulk:datetime
Embulk:timestamp
시간차
메모
UTC
UTC
지정되지 않음
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 13:14:00 UTC
2019-03-25 04:14:00 UTC
시간 그대로
UTC
UTC
Asia/Tokyo
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 04:14:00 UTC
2019-03-24 19:14:00 UTC
-9시간
Embulk 설정이 좋다.
UTC
Asia/Tokyo
지정되지 않음
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 13:14:00 UTC
2019-03-25 04:14:00 UTC
시간 그대로
Embulk 서버의 시간대는 무시합니다.
UTC
Asia/Tokyo
Asia/Tokyo
2019/3/25 13:14
2019/3/25 4:14
2019-03-25 04:14:00 UTC
2019-03-24 19:14:00 UTC
-9시간
JST
UTC
지정되지 않음
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
DB의 시간대가 좋다.
JST
UTC
Asia/Tokyo
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
Asia/Tokyo
지정되지 않음
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
Asia/Tokyo
Asia/Tokyo
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 04:14:00 UTC
2019-03-25 04:14:00 UTC
-9시간
JST
UTC
UTC
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 13:14:00 UTC
2019-03-25 13:14:00 UTC
시간 그대로
Embulk 설정에서 DB 시간대를 덮어쓰기
JST
Asia/Tokyo
UTC
2019/3/25 13:14
2019/3/25 13:14
2019-03-25 13:14:00 UTC
2019-03-25 13:14:00 UTC
시간 그대로
※추기 위의 표는 개행이 들어가 보이지 않기 때문에 화상화
요약
MySQL이 채용하고 있는 타임 존을 사용해 UTC화하고 있다.
그러나 Embulk측의 serverTimezone
로 타임 존의 덧쓰기를 할 수 있다.
Reference
이 문제에 관하여(embulk-input-mysql의 시간 편차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/a4_nghm/items/549ae7ba343b2cecf78c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(embulk-input-mysql의 시간 편차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/a4_nghm/items/549ae7ba343b2cecf78c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)