Amazon Web Services ブログ
[AWS Black Belt Online Seminar] AWS Glue DataBrew 資料及び QA 公開
先日 (2021/02/17) 開催しました AWS Black Belt Online Seminar「AWS Glue DataBrew」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。
20210217 AWS Black Belt Online Seminar AWS Glue DataBrew
AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます)
Q. DataBrew でジョブを実行する際に、読み込む S3 上のファイルの文字コードを指定し?統一して出力することは可能でしょうか。(複数の源泉からファイルを集めた際に、SJIS のファイルを読み込むと文字化けしてしまったため)
A. 現状、AWS Glue DataBrew 内での文字コード変換は対応しておりません。
Q. ジョブを日中何度も実行する場合で、処理済ファイルは取得の対象外としたいが、そのような機能はあるでしょうか。? または、そのような状態を再現するためのベストプラクティスがあればご教授いただきたいです。
A. 現状、AWS Glue DataBrew 内ではそのような仕組みがありませんので、外部で処理済ファイルのハンドリングの仕組みをいれていただく必要があります。または AWS Glue DataBrew ではなく、AWS Glue のジョブブックマーク機能を利用することでそのような処理を実現することが可能です。AWS Glue のジョブブックマークの詳細は、ドキュメンテーションをご参照ください。
Q. DataBrew のジョブを一定周期で起動する場合、前回ジョブが終わっていない場合は? 処理をスキップする、というような仕組みは行えるでしょうか。?(源泉1つに対し、一度に動くのは 1 つのみとしたい)
A. 前回ジョブが終わっていない状態で同じジョブの実行が開始された場合は処理が失敗します。つまり同一ジョブが一度に複数実行されることはありません。
Q. DataBrew の 1 レシピで実行可能な変換処理について、上限はありますでしょうか。?上限がある場合、複数ジョブでの複数レシピの実行となると思いますが?(1ジョブで実行可能なレシピは 1 件のみの認識)? 中間ファイルを作成しないで複数のレシピを実行することは可能でしょうか?
A. 1 レシピで実行可能な変換処理の上限は現状 100 までとなっています。従い、100 を超える変換ステップが必要な場合、レシピを分けていただく必要があります。
Q. 1 項目中に全半角混在している場合、全角、または半角に統一する変換処理はありますでしょうか。(半角カナを全角カナにしたりしたい)
A. 現状、該当の変換機能は、AWS Glue DataBrew の変換機能の中には含まれておりません。
Q. レシピの順番の入れ替えは、一度レシピをダウンロードして( yaml ファイル等を)編集し?、再度アップロードするしかないでしょうか?
A. プロジェクト画面の右側のレシピ編集用ペインの中で、「レシピステップの順序を変更」アイコンがあり、そちらを活用いただくことで GUI 操作で順番の入れ替えが可能です(ご指摘の方法でも実施いただけます)。
Q. 1 レシピ内に複数の変換処理を入れるのと、複数のレシピに分けるのでは? どちらの方が効率的でしょうか?
A. 処理効率の面だけでいえばレシピ内に処理をまとめるほうが効率的なケースが多いと考えますが、どういった単位でレシピをまとめるべきかは、処理効率だけでなく運用、セキュリティ、料金なども含めて考える必要があります。
Q. データセットにExcelを選んだ場合、結合されたセル、複数シートがあった場合はどうなりますか
A. 複数列を結合した場合の挙動は下記の通りです。
- 複数列が結合された列に値が1つしかない場合は1つの列としてロードされる
- 複数列が結合された列に複数の値が存在する場合、結合された列が分割されてロードされる
複数シートがある場合は読み込むシートを選択いただくことが可能です。
Q. Glue Studio との違いや、使い分けはどのようなものでしょうか
A. AWS Glue DataBrew は非エンジニアの方が組み込み変換機能を使って GUI で直感的に操作することが可能なデータ準備のためのサービスです。一方、AWS Glue Studio はコーディングを行うエンジニアの方が、より柔軟にデータ変換のパイプラインを組むことを容易にするためのサービス(機能)です。AWS Glue DataBrew で対応していない独自の変換処理が必要、カスタムコネクターが必要、といった場合は AWS Glue Studio の使用をお薦めします。これらは二者択一ではなく併用できますので、適材適所でお使いください。
Q. ジョブ実行はスケジューリングできるのでしょうか?
A. はい、可能です。ジョブ作成時にスケジューリングを定義することも作成後に編集することも可能です。
Q. もう1つ質問させてください。DataBrew ジョブのタイムアウトに上限はあるのでしょうか?
A. 現状、最大で 2147483647 分まで指定可能です。
Q. データリネージは 1 つのジョブ起点でのリネージが見えるのでしょうか?お話しの中で、インプットデータが別のどんなジョブで使用されているかも確認できるとお話しがありましたが、別のジョブのリネージも表示されるのでしょうか?
A. データリネージはデータセット、プロジェクト、ジョブの各画面ごとに確認することが可能です。データセットを起点にした場合、関連するすべてのジョブまでを 1 画面で確認することはできませんが、関連するプロジェクトすべてを俯瞰して見ることができ、それぞれのプロジェクトに1対1で紐づくジョブを別画面で確認することが可能です。
Q. レシピ・レシピジョブでは条件分岐することができますか
A. 現状、レシピ内での条件分岐には対応しておりません。
Q. 想定されるデータセットのサイズはどのくらいでしょうか。巨大サイズのファイルを処理して、いつまでも終わらない際は、時間や手動操作で中止できるのでしょうか
A. 想定されるデータセットのサイズに関しては特に定められた基準というものはなく、さまざまなデータ規模に対応可能なように、割り当てるコンピュートリソースを柔軟にコントロールすることが可能です。ジョブはタイムアウト設定や手動で停止することが可能です。
Q. S3 への PUT や CodeCommit への Push をトリガーにして DataBrew を起動することは可能でしょうか?
A. こちらは現状直接行うことはできませんが、Lambda などを経由することで実現可能です。
Q. S3 バケットが暗号化されている場合も、データセットとして指定可能でしょうか
A. はい、可能です。詳細は ドキュメンテーション をご参照ください。
Q. インタラクティブセッションの課金は CLI を使った場合も発生するのでしょうか?
A. インタラクティブセッションの課金は、GUI 上の DataBrew プロジェクトを開いた場合も、DataBrew API オペレーションを使用する場合も同様です。詳細は AWS Glue の料金ページ をご参照ください。
Q. パイプライン自体は StepFunction で組むイメージでしょうか?
A. はい、ご認識のとおり AWS Step Functions を活用いただくことで、AWS Glue DataBrew のジョブおよび他のサービス経由のジョブを含めたパイプラインを構築することが可能です。
Q. ETL デベロッパはコードが書けるので、機械学習の前処理だけでなく、推論処理までできる?
A. JupyterLab Extension を導入していただくことで、AWS Glue DataBrew による前処理と、コーディングによる機械学習系の処理を Jupyter Notebook 内で完結して実行可能です。
—–
今後の AWS Webinar | イベントスケジュール
直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。
——
AWSome Day Online Conference
「AWSome Day Online」は、AWSの主要サービスや基礎知識を約 3 時間という短い時間で、ポイントを押さえて紹介いたします。技術的な面だけではなく、AWS クラウドを学ぶために必要となる知識を身に付けたい方、エンジニアのみならず、営業職、プリセールス職、学生まで幅広い方々におすすめします。
※この回ではAWSエキスパートによる技術的な内容についてチャット形式でのQ&Aを実施します。
※AWS サービスの導入に関するご相談も同時にチャット形式にて対応します。
※2020年は毎月第一水曜日に開催します。
日時:2021 年 3 月 3 日(水) 15:00 – 18:00 終了予定 | 詳細・お申込みについてはこちら≫
——
AWS Black Belt Online Seminar
2021 年 3 月のアジェンダが公開となりました。セミナー中は内容に関する疑問点を質問することができます。参加された方だけの特権ですので、ぜひこの機会にご視聴ください。
- 3/9(火)12:00-13:00 AWS Audit Manager
- 3/10(水)18:00-19:00 AWS Artifact
- 3/16(火)12:00-13:00 AWS DataSync
- 3/17(水)18:00-19:00 Amazon MQ
- 3/30(火)12:00-13:00 AWS Glue -Glue Studioを使ったデータ変換のベストプラクティス-
- 3/31(水)18:00-19:00 Gateway Load Balancer