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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
katsuyan
May 17, 2017
Technology
530
1
Share
embulkを利用した開発でちょっと困ったこと
embulk meetup #3で発表した
embulkを利用した開発でちょっと困ったこと
katsuyan
May 17, 2017
More Decks by katsuyan
See All by katsuyan
realtime_marketing_system
katsuyan
0
2.8k
digdag-3tips
katsuyan
2
4.9k
ファッションチェックランキングRubyKaigiの裏側 / Fashion check ranking app for RubyKaigi2019
katsuyan
1
6.1k
ETLツールを1から作り直した話
katsuyan
1
330
Other Decks in Technology
See All in Technology
Harnessing the Power of Mocks and Stubs in PHPUnit / #laravellivejp
asumikam
0
730
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
1.1k
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
570
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.2k
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
410
さきさん文庫の書籍ができるまで
sakiengineer
0
290
データ分析基盤の信頼を支える視点と設計
yuki_saito
2
750
Javaで学ぶSOLID原則
negima
1
220
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
110
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
260
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
0
110
Don't Just Patch — MOTTAINAI! Learn Security from Laravel CVE Diffs
codmoninc
0
150
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
360
Site-Speed That Sticks
csswizardry
13
1.2k
Music & Morning Musume
bryan
47
7.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
Designing Experiences People Love
moore
143
24k
Visualization
eitanlees
152
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
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ศར