Amazon Web Services ブログ

Amazon DataZone を利用した膨大な組織内データの可視化

こんにちは。ソリューションアーキテクトの沢田です。パイオニア株式会社 (以下、パイオニア) は、「より多くの人と、感動を」 をミッションに掲げ、モノ×コト(プロダクト & ソリューションサービス)の両輪で、新しい移動体験の価値を創造しています。本ブログでは、ビジネスの意思決定のためのデータの可視化に関わる課題解決のために、AWS のデータカタログサービスである Amazon DataZone を使って組織内のデータをカタログ化し、データを共有、アクセスする方法をパイオニア Piomatix 情報サービス部 櫛引 翔太 氏よりご紹介します。また、組織のデータ間でのやりとりにおけるコミュニケーションコストを削減できるビジネスデータカタログ、ビジネス用語集についてもご紹介します。

はじめに

データカタログとは何でしょうか。なぜ必要なのでしょうか。データカタログは、組織が収集して処理するすべてのデータのインベントリです。データカタログにはデータ資産のインベントリを説明し、データに含まれる内容に関する追加情報を提供するメタデータが含まれています。

ビッグデータを用いて、データ駆動型でビジネスの意思決定をすることは現在ではスタンダードとなってきていますが、これを実行するには、データがどこにあって、どのようなものなのかをすぐ把握できる状態になってないと、非効率で時間がかかってしまいます。この非効率さを日常で例えるならば、図書館でスポーツジャンルの本を読みたいと思ったときに、配置場所を検索できるコンピュータや館内の案内図がないようなものです。

ビッグデータにおいて、本を検索するコンピュータや館内の案内図の役割を果たすのがデータカタログだと考えています。つまり、データカタログによって組織内のデータが容易に把握できるようになり、データ分析やマーケティングへのデータの利用が活発となることで、迅速なビジネスの意思決定を行うことができるようになります。

パイオニアのデータカタログと現状の課題

パイオニアでもデータカタログは重要であると考えており、2022 年に社内向けのデータカタログサイトをAWS上に構築しました (開発の経緯や開発内容の詳細はこちらの記事をご参照ください)。

パイオニアでは、カーナビやドライブレコーダーといった車載機器で走行速度や自車位置など様々なプローブ情報を収集しているほか、ナビ機能に使われる全国各地の地図データを保有しています。これらは年々膨大となっており、1 つ 1 つのデータの把握はより複雑になっています。データカタログサイトはそんなパイオニアの膨大なデータの把握に貢献しており、例えばユーザーの行動分析のための活用が進んでいます。

一方で、データカタログサイトには以下のような課題もあります。

  1. データカタログへのデータの公開に時間と労力が浪費されてしまう
  2. 一般的なビジネス用語がない
  3. データの構造やジャンル、商品の偏りといったデータの特性がわかりにくい

これらの課題から、データを公開するユーザーが増加しにくいこと、データの一覧を閲覧するにも不透明な情報が多いこと、非技術者が理解できない要素が多いことで、パイオニアが保有するデータに対する「データカタログの可視化」というデータカタログの目的を果たせていませんでした。

そこで、これらの課題を解決するために着目したのが Amazon DataZone です。Amazon DataZone の利用を検討するにあたり、使ってみた感想や活用例をご紹介します。

Amazon DataZone のデータポータルへの公開

ステップ 1 : 既存の AWS Glue データベースの Amazon DataZone ポータルへの取り込み

このステップでは、既存の AWS Glue データベースを Amzon DataZone に取り込みます。

  1. Amazon DataZone では一番最初にドメインを作成します。ドメインを作成すると、データポータルというデータカタログサイトのようなものが自動で作成されます。
    Amazon DataZone ではこのデータポータル上にデータをインプットすることでデータカタログを管理できるようになります。

  2. アクセス管理はプロジェクトという単位で行われています。そのため、データを公開するためのプロジェクトを作成します。

  3. 作成したプロジェクトで、環境を作成します。
    環境とは、プロジェクト内で利用する AWS リソースを定義するもので、Amazon DataZone では現在、環境をつくるための以下のブループリントが 2 種類用意されています。

    • DefaultDataLake (AWS Glue データカタログでデータを管理し、Amazon Athena でデータ利用できるもの)
    • DefaultDataWarehouse (Amazon Redshift でデータの公開、利用ができるもの)

    今回は AWS Glue で作成したデータを公開したいので DefaultDataLake を選択し、環境を作成しました。(以下、この環境をsample_ev とします)

  4. 環境の作成後、データソース作成より、環境内に既存の AWS Glue データベースを接続します。
  5. 作成した環境 (sample_ev) からデータ選択より、データベース名に既存の AWS Glue のデータベース名を選択し、作成します。
    (以下、このデータソースをglue_data_sourceとします)

  6. データソース一覧から glue_data_source を選択し、「実行」をクリックすると glue_data_source の メタデータを AWS Glue から収集してデータアセットが作成されます。(以下、 sample_datasetとします)

これで既存の AWS Glue データベースを Amzon DataZone に取り込むことができました。

ステップ 2 : データアセットのキュレーションと公開

このステップでは、ステップ 1 で作成したデータアセット (sample_dataset) を公開する準備をし、データポータルに公開します。

データアセットの詳細を確認すると、ビジネスメタデータ、スキーマという項目があるのがわかります。スキーマはそのままでデータアセットのカラムに関する名前、型といった情報が確認できます。ビジネスメタデータは、名の通りビジネス目的で閲覧するユーザー向けにデータの概要や README を記載する部分になります。

これにより、パイオニアで抱えていた「一般的なビジネス用語がない」という課題を解決できます。これをマニュアルですべて整備するとなると、データアセットの数だけ説明文を書かないといけなくなりとても大変です。Amazon DataZone はそんな悩みを解決してくれます。データアセット作成時に自動でビジネスメタデータの概要、スキーマの名前、説明文を生成 AI の機能によって自動で生成してくれます ! ( ブログ執筆中はプレビューでしたが、 2024 年 3月 27日 に GA されました )

生成された概要文や説明文に問題がなければ、「承認」をクリックするだけで適用されます。
編集したい場合は、生成された説明文を書き換えることも可能です。この機能を体験したときは思わず声がでるほど感動しました。生成された文章は精度が高く、手直しもさほど必要ありません。

データアセットを公開するまでの準備ができました。あとは「アセットを公開」をクリックするだけで、データポータルに公開することができます。

とても簡単な手順で、既存の AWS Glue のデータアセットをデータポータルに公開することができました。特に操作に迷うことなく、数分で作業を完了することができました。

データポータルで公開されたデータアセットを閲覧 / 分析

データアセットの閲覧

データポータルでは「カタログ」からいつでも公開されたデータアセットを確認することができます。また、ビジネス用語集も確認することができます。

ビジネス用語集は、データを発見して分析する際に組織全体で同じ定義が使用されるように、ビジネス用語とその定義を一覧表示する組織の辞書のようなものです。

また、ビジネス用語はデータアセットと関連付けることが可能です。製品に関連するもののデータや、データのジャンルなどを関連づけることで一目でデータのジャンルやどの製品から収集されたものかわかるようにできます。

参考に今回生成されたデータアセットの概要文とスキーマを日本語に翻訳し、関連するデータジャンルや製品をビジネス用語集で関連付けしてみました。

これらにより、カタログの利用者はこのビジネス用語集に加え、前章のステップ 2 で紹介したビジネスメタデータ、スキーマを参照することで、非技術者であっても、データ構造や社内の製品データの偏りなどといったデータの特性も理解しやすくなっています。

分析

  1. データを分析するためには、プロジェクトが必要となります。予めステップ 1 と同じ手順でプロジェクトと環境を作成します。
  2. プロジェクト内でカタログからデータアセットを選択し、「サブスクライブ」からデータアセットの公開しているプロジェクトについて利用したいというリクエストを送ることができます。

  3. データアセットを公開したプロジェクトにはサブスクリプションのリクエストがあったことが通知され、リクエストしたプロジェクトや、アクセスする理由などを確認することができます。ここでリクエストに対し、承認するかどうかを判断します。

  4. 承認後、「Analytics tools」より Amazon Athena を使用し、データベースにサブスクション用の DB を選択すると、承認されたデータアセットが表示され、クエリを実行できるようになります。

このように見やすい UI で構成されたカタログからビジネス面、分析面どちらのユーザーにとってもデータが理解しやすく、簡単な操作でクエリの実行まで行うことができます。

結論と今後の展望

Amazon DataZone によって、簡単に既存の AWS Glue データカタログのデータを公開することができ、公開されたデータはビジネス目的、データ分析目的どちらのユーザーにも理解しやすいように自動でデータの説明文などを生成してくれることがわかりました。以前に構築したデータカタログサイトで抱えていた 3 つの課題を Amazon DataZone を利用することで簡単に解消することが可能になりました。

使ってみた感想としては、データポータルという UI が非常に見やすく、操作もしやすいと感じました。また、データアセットのビジネスメタデータやスキーマが自動で生成されたことに感動しました。データカタログはデータ公開者に作業負担を強いてしまうことも課題の 1 つだったので、このような細かい作業を自動で行ってくれることは時間と労力の浪費を大きく減らしてくれるのに貢献してくれました。

一方で、以下のような機能が追加されるとより多くのユースケースに活用できると感じました。

  • 公開されたデータアセットをサブスクライブして分析できるサービスとして Amazon EMRAmazon SageMaker といった 他の分析サービスとの連携
  • プロジェクトのメンバーの権限として用意されているロールにサブスクライブの承認のみができる権限、分析だけができる権限など権限の細分化 (2024 年 3 月現在、付与できるのは Owner と Contributor のみで、Contributor の権限が強すぎると感じました )
  • データポータル内の通知を E メールなどでユーザーに知らせる機能 (Amazon EventBridge と Amazon SNS を利用して実現できるが、データポータルの UI から設定できた方が AWS に詳しくないユーザーには優しい)

Amazon DataZone は昨年の 10 月に GA されたばかりのサービスで、これからも多くのアップデートが用意されていると思います。AWS サービスを利用するメリットは、運用と保守が簡単になることに加え、サービスのアップデートを以後受けられることにあると思ってます。現在の Amazon DataZone をさらに活用し、組織内のデータ活用を進めながら期待して待ってみたいと思っています。

参考リンク