Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Glueの開発環境(zeppelin)をrancherで作ってみる

494 views

Published on

AWS Glueの開発環境をRancher使ってコンテナで作ったお話です

Published in: Technology
  • Be the first to comment

Glueの開発環境(zeppelin)をrancherで作ってみる

  1. 1. 自己紹介 • 名前:河村 敏貴 • 所属:クラウドパック インフラチーム • 普段の仕事:AWSインフラの構築&開発 • バックグラウンド:元業務系開発エンジニア • Rancher歴:2週間 • 趣味:ショアジギング
  2. 2. 本日お話すること •ビッグデータ分析について •AWS Glueの開発環境をRancherで作ってみた
  3. 3. データ分析のトレンド •あらゆる形式のデータを蓄積 •後から用途に応じて構造化(Schema on Read) •必要に応じて加工(ETL)
  4. 4. 可視化ツールデータレイク データ分析プロセス データ ソース ETL データ マート Amazon QuickSight SQL あらゆるデータ を保存 用途に応じて データを加工して 構造化
  5. 5. データレイクとは •生のままのデータ、レポート、可視化、分析、機械学習 に使われた変換されたデータまで、全てのデータを1箇所 で管理します •構造化データ(RDB) •半構造化データ(CSV,XML,JSON ) •非構造化データ(EMAIL,文書,PDF) •バイナリデータ
  6. 6. ETL • 外部の情報源からデータを抽出し、抽出したデータを変換・加工を行い、 データをロードすること • EXTRACT –データソースからデータを抽出 • TRANSFORM – データを要件に応じて変換・加工 • LOAD – データマートに変換・加工済みのデータをロード
  7. 7. AWS Glueとは •フルマネージドETLサービス •サーバーレス •ETLジョブの構築・管理 •分散処理
  8. 8. ETLジョブの開発環境
  9. 9. 今回やってみたこと
  10. 10. Apache Zeppelin •対話型実行環境 •結果をビジュアルに表示
  11. 11. ・AWSコンソールからポチポチ or CloudFormation or AWS CLIで作成 開発エンドポイント作成 ・Rancher起動(インストール済みAMIから) ・スタックからdocker-compose.ymlをセットしてコンテナ起動 Apache Zeppelinの構築 ・コンテナの起動ホストへssh接続 ・ホストから開発エンドポイントへポートフォワード 開発エンドポイントへ接続 開発環境の構築手順
  12. 12. 開発エンドポイント作成 aws glue create-dev-endpoint --endpoint-name TestDevEndpoint --role-arn arn:aws:iam::12341234124:role/AWSGlueServiceRoleDefaultCM --security-group-ids sg-123cdeff --subnet-id subnet-e81e1234 --public-key “ssh-rsa ・・・" --number-of-nodes 2
  13. 13. Apache Zeppelinの構築 version: '2’ services: zeppelin: image: apache/zeppelin:0.7.3 ports: - "18080:8080" Docker-compose.ymlをRancherに読み込ませる
  14. 14. 開発エンドポイントへ接続 Zeppelinから接続する先をローカルホストではなくホストのローカルIPを設定 コンテナから接続できるようにgオプションを付加する ssh –g -i <private-key.pem> -NTL 9007:169.254.76.1:9007 glue@xxx.xxx.xxx.xxx
  15. 15. 実行してみる データソース(S3)から取得したデータのスキーマ情報を表示するテストプログラム
  16. 16. 結果 想定通りにスキーマ情報が表示できた
  17. 17. 手動でポートフォワードは嫌だ Zeppelin SSHポー トフォ ワード 開発エンドポ イント ポートフォワード用の コンテナを追加
  18. 18. まとめ • とりあえず使えるが、実用に耐えうるかどうかはもうすこし検証が必要 • データを永続化するなどの対応は必要 • Rancherを使ってみて • システムコンテナをどこまで気にしておく必要があるのかよくわからなかった • 複数環境を管理するのはすごく便利(だと思う) • LTを利用して使ったことのないプロダクトを無理やり使う状況にするのはよかった

×