SlideShare a Scribd company logo
1 of 14
ETL処理案件で
辛かった事
株式会社オプティマ
和泉聡太
目次
• 取り上げること
• 取り上げないこと
• つらい点
• AWS Glue のすぐれている点
取り上げること
• 現在参加している案件のこと
• 扱っている技術は得意分野ではありません
取り上げないこと
• データを用意する話
• 集計したデータを使って活用する話
よくわからない
ゾーン
システム概要図
RedShift
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/monitor-glue.html
DBダンプ
ElasticNet
HMM
←AWS Glue
(AWS Glueの)つらい点
• 開発中にもいちいちお金がかかる
• 実行がいちいち遅すぎる
• 言語は慣れてるのを使うべき
• ETLジョブとZeppelin上で書き方がいろいろ違う
開発中にもいちいちお金がかかる
• ETL ジョブ実行のたびに最低約20円かかる
– どんな結果でも課金される?(Syntax Errorでも(未確認))
– →お金でいちいち申請とか必要だと疲れる
実行がいちいち遅すぎる
• 1分で直して実行すると10分かかる
• データ量少なくてもそんなに早くならない
– 実行間隔を調整するなど、動かし方を考えないといけない
• ETLジョブだと実行前にリソース取得に10分近くかかる
– そして毎回20円以上かかる
• 開発エンドポイントでもロード時間は普通に3分近くかかる」
– そしてずっとジョブ実行状態でお金がかかる
言語は慣れてるのを使うべき
• 実行ごとに10分かかるのにコード入力環境が手厚くない
– ETLジョブのスクリプトエディタは使いにくい
– Zeppelin ノートブックのエディタも使いにくい
• 特にScala言語は複雑な言語仕様と型検査と実行の遅れ、
実行するまでコンパイルエラーも出ないため
相乗効果で辛い(その分Pythonは比較的マシ)
一例:
spark implisit使えない(Glue側のSparkバージョンの問題)
deprecated warningもエラー扱い(!==→=!=)(Zeppelin では実行できるのにGlueでは失敗扱い)
言語は慣れてるのを使うべき
実行
時間
Scala
言語仕様
Scala
型検査
言語は慣れてるのを使うべき
実行
時間
Scala
言語仕様
Scala
型検査
ETLジョブとZeppelin上で書き方がいろいろ違う
• 環境ごとに書き換えが必要
– extends java.io.Serializable追加
– メインメソッド実行処理の追加
– ジョブ関係コードのコメントアウト
– sparkContextの取得方法の差異
• 両方に対応した書き方をするには使用言語に
詳しい必要がある
(AWS Glueの)すぐれている点
(おそらく時間が足りないので)
この先はキミの目で確かめてくれ!
終

More Related Content

Similar to Itelt vol8 5

Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
KinebuchiTomo
 
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたGlass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
Satoshi Kubo
 

Similar to Itelt vol8 5 (20)

Ppl
PplPpl
Ppl
 
ガラパゴスExcel
ガラパゴスExcelガラパゴスExcel
ガラパゴスExcel
 
⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1
 
Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術Asakusa バッチの運用を支える技術
Asakusa バッチの運用を支える技術
 
Scalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive ProgrammingScalaz-StreamによるFunctional Reactive Programming
Scalaz-StreamによるFunctional Reactive Programming
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
 
Jsf アプリ作ったった
Jsf アプリ作ったったJsf アプリ作ったった
Jsf アプリ作ったった
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
 
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...20161027 hadoop summit  Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
 
SEゼミ2015 - 練習
SEゼミ2015 - 練習SEゼミ2015 - 練習
SEゼミ2015 - 練習
 
Userdiveによるimpala導入へのミチ
Userdiveによるimpala導入へのミチUserdiveによるimpala導入へのミチ
Userdiveによるimpala導入へのミチ
 
Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究Halide, Darkroom - 並列化のためのソフトウェア・研究
Halide, Darkroom - 並列化のためのソフトウェア・研究
 
Glass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみたGlass fishで作ったアプリをweblogicに移植してみた
Glass fishで作ったアプリをweblogicに移植してみた
 
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
Impala + Kudu を用いたデータウェアハウス構築の勘所 (仮)
 
Mildscaling 20150725
Mildscaling 20150725Mildscaling 20150725
Mildscaling 20150725
 
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編A 2-3ゾウ使いへの第一歩 hadoop on azure 編
A 2-3ゾウ使いへの第一歩 hadoop on azure 編
 
ゾウ使いへの第一歩
ゾウ使いへの第一歩ゾウ使いへの第一歩
ゾウ使いへの第一歩
 
リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習
 
1周遅れのScala入学 #nds41
1周遅れのScala入学 #nds411周遅れのScala入学 #nds41
1周遅れのScala入学 #nds41
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
 

More from narumisekiguchi (7)

Itelt vol8 2
Itelt vol8 2Itelt vol8 2
Itelt vol8 2
 
Itelt vol8 8
Itelt vol8 8Itelt vol8 8
Itelt vol8 8
 
Itelt vol8 7
Itelt vol8 7Itelt vol8 7
Itelt vol8 7
 
Itelt vol8 6
Itelt vol8 6Itelt vol8 6
Itelt vol8 6
 
Itelt vol8 4
Itelt vol8 4Itelt vol8 4
Itelt vol8 4
 
Itelt vol8 3
Itelt vol8 3Itelt vol8 3
Itelt vol8 3
 
Itelt vol8 1
Itelt vol8 1Itelt vol8 1
Itelt vol8 1
 

Itelt vol8 5