Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
embulkを利用した開発でちょっと困ったこと
Search
katsuyan
May 17, 2017
Technology
1
500
embulkを利用した開発でちょっと困ったこと
embulk meetup #3で発表した
embulkを利用した開発でちょっと困ったこと
katsuyan
May 17, 2017
Tweet
Share
More Decks by katsuyan
See All by katsuyan
realtime_marketing_system
katsuyan
0
2.6k
digdag-3tips
katsuyan
2
4.6k
ファッションチェックランキングRubyKaigiの裏側 / Fashion check ranking app for RubyKaigi2019
katsuyan
1
5.9k
ETLツールを1から作り直した話
katsuyan
1
320
Other Decks in Technology
See All in Technology
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
エンジニアリングマネージャーの成長の道筋とキャリア / Developers Summit 2025 KANSAI
daiksy
1
360
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
300
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
370
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
480
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
520
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
230
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
KATA
mclloyd
32
14k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Agile that works and the tools we love
rasmusluckow
330
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Transcript
&NCVMLΛར༻ͨ͠։ൃ Ͱͪΐͬͱࠔͬͨ͜ͱ !LBUTVZBO
{:name “Katsuya Tajima” :twitter“@katsuyan121” :school {:name“芝浦工大” :year 4} :langs [:Clojure
:Go :Ruby] :likes [:Aikido :Shibainu]} XIPBNJ
࡞ͬͨͷ
Γ͍ͨ͜ͱ 3%4 .Z42- #JH2VFSZ .Z42-͔Β#JH2VFSZͷσʔλಉظ
Γ͍ͨ͜ͱ 3%4 .Z42- #JH2VFSZ .Z42-͔Β#JH2VFSZͷσʔλಉظ ͜ΕΛ&NCVML ͰΓ͍ͨ
FNCVMLͰͰ͖ͳ͍͜ͱ FNCVMLςʔϒϧ୯ҐͰసૹ ෳͷςʔϒϧಉظʹରԠͰ͖ͳ͍
#JH2VFSZ 3%4 .Z42- (Pϥούʔ࡞ FYFD
ຊ
ࠔͬͨ͜ͱᶃ
&NCVMLͷΤϥʔ͕TUEPVUʹ $ embulk run sample.yml 2> error.log 2017-05-15 18:16:38.400
+0900: Embulk v0.8.18 2017-05-15 18:16:50.038 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-mysql (0.8.2) 2017-05-15 18:16:52.789 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-bigquery (0.4.5) 2017-05-15 18:16:52.820 +0900 [INFO] (0001:transaction): Fetch size is 10000. Using server-side prepared statement. org.embulk.exec.PartialExecutionException: java.lang.RuntimeException: . . . $ cat error.log $ TUEPVUʹΤϥʔ
ղܾࡦ ऴྃεςʔλεΛར༻ ϩάͷৼΓ͚Λ(PͰཧ &NCVMLͷϩάͦͷ··ར༻ Τϥʔൃੜ࣌TUEFSSʹग़ྗ
ࠔͬͨ͜ͱᶄ
ಉظ࣌࣌ؒͣΕΔ FNCVMLJOQVUKECD .Z42-ϓϥάΠϯΛར༻ ϓϥάΠϯ͕ࣗಈͰ.Z42-ͷ UJNF[POFΛऔಘ͠ͳ͍͜ͱ͕ݪҼ
ಉظ࣌࣌ؒͣΕΔ in: type: mysql host: localhost user: user password:
password database: sample table: sample select: "*" default_timezone: "Asia/Tokyo" column_options: create_time: {type: string, timestamp_format: "%Y-%m-%d %H:%M:%S%:z"} update_time: {type: string, timestamp_format: "%Y-%m-%d %H:%M:%S%:z"} out: . . . TBNQMFZNM Θ͔Γ͍͢Α͏ʹ "TJB5PLZP࣌ؒ ʹͦΖ͑ͯ·͢
ಉظ࣌࣌ؒͣΕΔ mysql> select * from sample; +------+----------+---------------------+ | id
| name | create_time | +------+----------+---------------------+ | 1 | sample1 | 2013-05-27 10:46:08 | | 2 | sample2 | 2013-05-27 10:46:08 | | 3 | sample3 | 2013-05-27 10:46:08 | | 4 | sample4 | 2013-05-27 10:46:08 | | 5 | sample5 | 2013-05-27 10:46:08 | | 6 | sample6 | 2013-05-27 10:46:08 | | 7 | sample7 | 2013-05-27 10:46:08 | | 8 | sample8 | 2013-05-27 10:46:08 | | 9 | sample9 | 2013-05-27 10:46:08 | | 10 | sample10 | 2013-05-27 10:46:08 | +------+----------+---------------------+ $ embulk preview sample.yml +---------+-------------+---------------------------+ | id:long | name:string | create_time:timestamp | +---------+-------------+---------------------------+ | 1 | sample1 | 2013-05-27 19:46:08+09:00 | | 2 | sample2 | 2013-05-27 19:46:08+09:00 | | 3 | sample3 | 2013-05-27 19:46:08+09:00 | | 4 | sample4 | 2013-05-27 19:46:08+09:00 | | 5 | sample5 | 2013-05-27 19:46:08+09:00 | | 6 | sample6 | 2013-05-27 19:46:08+09:00 | | 7 | sample7 | 2013-05-27 19:46:08+09:00 | | 8 | sample8 | 2013-05-27 19:46:08+09:00 | | 9 | sample9 | 2013-05-27 19:46:08+09:00 | | 10 | sample10 | 2013-05-27 19:46:08+09:00 | +---------+-------------+---------------------------+ NZTRM FNCVMLQSFWJFX ͪΐ͏Ͳ࣌ؒ ͣΕͯΔ
Կ͔Φϓγϣϯͳ͍͔ͳ ͳΜ͔ͬͯͳ ͍ͭ͋ͬͨʂ
ղܾࡦ in: type: mysql host: localhost user: user password:
password database: sample table: sample select: "*" options: {useTimezone: true, serverTimezone: Asia/Tokyo} default_timezone: "Asia/Tokyo" column_options: create_time: {type: string, timestamp_format: "%Y-%m-%d %H:%M:%S%:z"} update_time: {type: string, timestamp_format: "%Y-%m-%d %H:%M:%S%:z"} out: . . . ͍ͭ͜ΛՃ TBNQMFZNM
ղܾ mysql> select * from sample; +------+----------+---------------------+ | id
| name | create_time | +------+----------+---------------------+ | 1 | sample1 | 2013-05-27 10:46:08 | | 2 | sample2 | 2013-05-27 10:46:08 | | 3 | sample3 | 2013-05-27 10:46:08 | | 4 | sample4 | 2013-05-27 10:46:08 | | 5 | sample5 | 2013-05-27 10:46:08 | | 6 | sample6 | 2013-05-27 10:46:08 | | 7 | sample7 | 2013-05-27 10:46:08 | | 8 | sample8 | 2013-05-27 10:46:08 | | 9 | sample9 | 2013-05-27 10:46:08 | | 10 | sample10 | 2013-05-27 10:46:08 | +------+----------+---------------------+ $ embulk preview sample.yml +---------+-------------+---------------------------+ | id:long | name:string | create_time:timestamp | +---------+-------------+---------------------------+ | 1 | sample1 | 2013-05-27 10:46:08+09:00 | | 2 | sample2 | 2013-05-27 10:46:08+09:00 | | 3 | sample3 | 2013-05-27 10:46:08+09:00 | | 4 | sample4 | 2013-05-27 10:46:08+09:00 | | 5 | sample5 | 2013-05-27 10:46:08+09:00 | | 6 | sample6 | 2013-05-27 10:46:08+09:00 | | 7 | sample7 | 2013-05-27 10:46:08+09:00 | | 8 | sample8 | 2013-05-27 10:46:08+09:00 | | 9 | sample9 | 2013-05-27 10:46:08+09:00 | | 10 | sample10 | 2013-05-27 10:46:08+09:00 | +---------+-------------+---------------------------+ NZTRM FNCVMLQSFWJFX ͪΌΜͱಉظ͞Εͨ
+%#$ͷΦϓγϣϯ ݹ͍Φϓγϣϯ VTF5JNF[POFUSVF TFSWFS5JNF[POF"TJB5PLZP ৽͍͠Φϓγϣϯ VTF-FHBDZ%BUFUJNF$PEFGBMTF ͜Ε͚ͩͰ ղܾͰ͖ͳ͔ͬͨ
ࢀߟ FNCVMLJOQVUKECDͷ.Z42-ϓϥά ΠϯͰ͕࣌ؒ࣌ؒͣΕΔ IUUQRJJUBDPNLBUTVZBOJUFNT GEDBCBD
·ͱΊ ϩάͷग़ྗઌ֬ೝ͠·͠ΐ͏ ࣌ؒͷҋਂ͍ Φϓγϣϯશ෦ோΊ·͠ΐ͏ &NCVMLศར