データ基盤「systemN」の本番環境で100億レコード/月のETLをGlueで実装した話
![AWS ETL祭り - AWS Glue活用事例@primeNumber](https://cdn-ak-scissors.b.st-hatena.com/image/square/c62465907634ac295532ba68dc8cfb0d040063de/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F8ed5a80c372b4ba3bfb09e60cd5cd039%2Fslide_0.jpg%3F9420951)
前回、Glueの開発環境をDockerで作りましたが、zeppelinコンテナを起動してホストからsshフォワードを実行して接続するという構成でホストを意識する必要がありましたが、せっかくzeppelinをdockerで作っているのでsshフォワードを行う部分もdockerで実現できないかと思い考えてみました。 今回作った構成 データを永続化するためにdataコンテナとsshフォワード用にssh forwardコンテナを追加することにしました。 そのためzeppelinコンテナからはssh forwardコンテナに接続しにいくことになります。 こうすることでssh forwardコンテナには名前でアクセスできるので、毎回設定変更する必要がなくなります。 手順 ssh forwardコンテナ作成 docker-compose.yml作成 起動確認 ssh forwardコンテナ作成 以下のと
AWS Glueで自動生成されたETL処理のPySparkの開発について、AWSコンソール上で修正して実行確認は可能ですがかなり手間になります。 そこで開発エンドポイントを使って開発する方法が提供されており、Apache Zeppelinなどを使ってインタラクティブに開発することができます。公式ドキュメントによると、エンドポイントを利用して開発する方法としては大きく以下の4つの方法が提供されています。 ① EC2上にApache Zeppelinを構築して開発エンドポイントへ接続 ② ローカルマシンにApache Zeppelinを構築して開発エンドポイントへ接続 ③ 開発エンドポイントへ直接sshしてREPL Shellを利用する ④ PyCharmのProfessional editionで開発エンドポイントへ接続 ①の方法がコンソールからワンクリックで開発環境を構築することができるの
はじめに AWS GlueのRelationalizeというTransformを利用して、ネストされたJSONをCSVファイルやParquetに変換する方法をご紹介します。CSV形式に変換することでリレーショナルデータベースに簡単にインポートできます。また、Parquetフォーマットに変換することでAthena、Redshift Spectrum、EMRからより高速にクエリできるようになります。 Relationalizeとは Relationalizeは、AWS Glueが提供するRelationalizeというTransformで、DynamicFrameをリレーショナル(行と列)形式に変換します。データのスキーマに基づいて、ネストした構造化データをフラットな構造化データに変換してDynamicFrameを作成します。出力は、複数の表にデータを書き込むことができる、DynamicFra
はじめに AWS Glueは、Pythonに加えてScalaプログラミング言語をサポートし、AWS Glue ETLスクリプトの作成時にPythonとScalaを選択できるようになりました。新しくサポートされたScalaでETL Jobを作成・実行して、ScalaとPythonコードの違いやScalaのユースケースについて解説します。 AWS Glue Now Supports Scala in Addition to Python ScalaでETL Jobを作成して実行する ETL Jobは、ソース、ターゲット、カラムのマッピング、ETL言語などを指定すると対応したETLコードが自動生成されます。その生成されたコードに対して、さらにテンプレートを追加したり、コードを編集します。では早速、ScalaでETL Jobを作成してみます。 Job Properties 全般的なETL Jobに
AWS Glue now supports the Scala programming language, in addition to Python, to give you choice and flexibility when writing your AWS Glue ETL scripts. You can run these scripts interactively using Glue’s development endpoints or create jobs that can be scheduled. To get started, please refer to our samples. AWS Glue is a fully managed extract, transform, and load (ETL) service that makes it easy
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く