Glueこんにちは、パートナーソリューションアーキテクト(PSA)の相澤です。資料を公開いたしました。当日参加者の皆様から頂いたQAの回答と併せてご紹介致します。皆様のご参加をお待ちしております。GlueにてETLのリプレイスを検討しております。現時点ではS3からのトリガーで直接Glueのジョブをトリガーする方法は用意されていないため、S3のトリガーでLambda等に連係していただき、そこからオンデマンドのジョブを呼び出していただくのが良いと考えられます。Glueのジョブ内でクローラーが確認していない、データソースやデータターゲット(Sink)とに対して処理gあ可能です。上記はどちらでも可能です。クロールさせてから、その結果をもとに読み取ることも可能ですし、もしくは引数を元に直截S3上のオブジェクトを読み取ることも可能です。カラムがなくなった事をトリガーに自動的に別のRDSの表定義を変更するという機能はありません。一般的には異機種RDBでDDLの変更を自動反映させる作業は単純ではないため、RDBネイティブのレプリケーションツールの利用をご検討ください。現時点ではスキーマの変更時に自動でSNS通知を実行する機能はありません。CrawlerのJDBC接続はVPC内通信ではなくインターネット経由のアクセスになりますか?A6.VPC内にENIが作成され、VPC内(プライベートIPアドレス)での通信になります。DynamicFrameとDynamicFrameCollectionの違いはなんですか?A7.DynamicFrameを集める(一塊として扱う)のがDynamicFrameCollectionクラスです。Pythonのライブラリのみサポートしています。Pythonではないため)、利用できません。Glueとの棲み分けについてお聞きしたいです。Glueは、Pythonコードでジョブを作成しますが、一般的なETLソリューションではGUIでコンポーネントをDrag&Dropすることでジョブを作成する事ができるため、これが最も大きな違いになります。ユーザにとってどちらの方法が生産性が高いかという点でご選択ください。Glueはサーバレスであり、インフラの管理負担を大幅に削減できる事も既存ETL製品との違いです。Glueを選択していただく上での提案ポイントがあれば教えていただきたいです。Glueのメリットは、「ジョブ(変換)コードをPythonで書け、それをサーバレスのインフラで実行できる」事にあります。ジョブをPython(PySpark)で書けることのメリットは、オープンな言語&フレームワークなため、既存の知識が流用しやすく、プレインなコードなのでGit等のツールでの差分管理が可能です。サーバレスなため、日々の運用負担が低くETL負荷が増加した際にもサーバ増強等の作業をする必用がないという点もメリットです。Glueのジョブであるサーバーへアクセスさせたいのですが、IPアドレスを固定することはできますか?A11.ジョブの実行サーバはジョブ実行毎に作成されるため、IPアドレスを固定する事はできません。ETLコードにて、ターゲットのRedshiftのテーブル定義に合わせてDynamicFrameの列順変更や列追加を行う必要がある場合、どのTransformクラスを利用するべきでしょうか?A12.列の順序を変更する場合は、ApplyMappingクラスでソースとターゲット(Sink)のマッピングを調整することが可能です。実行しているジョブやクローラの料金モニタリングはどこで行うべきですか?A13.料金のモニタリングは、他のサービスと同様に、Billingの機能(Billingにアラートを付ける等)で行なうことが可能です。Glueとして特に文字コードの規定があるわけではありませんが、PySparkをベースにしているため、ジョブ処理時には文字列がUTF-8である事を想定しています。JDBCドライバ経由でRDBを読み取った場合はJDBCドライバ内で文字コードがUTF-8に変更されるものもあります。UTF-8以外のファイル(S3上)は読み取る際に文字コードをUTF-8変換する必用があります。DataFrameでもDynamicFrameどちらでも行える処理はどちらを利用するほうがパフォーマンスメリットがありますか?A15.パフォーマンス上の差異については現時点でのデータはありませんが、変換のオーバヘッドは低いため、必用な処理があるほうに変換をして御利用いただくのが良いと考えられます。Facebookこのブログの最新情報はTwitter、Facebookでもお知らせしています。お気軽にフォローください。