Amazon Web Services ブログ
Amazon Athena が大阪リージョンでご利用いただけるようになりました
みなさん、こんにちは。アマゾン ウエブ サービス ジャパン、シニアエバンジェリストの亀田です。
Amazon Athena が大阪リージョンでご利用いただけるようになりましたので、お知らせいたします。
Amazon Athena
Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して簡単に分析することができます。サーバーレスで動作するため、インフラストラクチャの管理や支払いは不要で、実行したクエリに対してのみ料金が発生します。Athena はクエリエンジンに、ペタバイトクラスまでのあらゆるサイズのデータソースに対してインタラクティブな分析クエリを実行するためのオープンソースの分散型SQLクエリエンジンである ANSI SQL に準拠したPrestoを使用しているため、特別な学習コスト無く従来のSQLを用いてデータ分析を行うことができ、CSV、JSON、ORC、Parquet などのさまざまな標準データフォーマットに対応しているためデータ処理の前準備のための作業工数も最小化することができます。
Athena を使用することで、従来時間がかかっていた分析用データを準備するための複雑な ETL ジョブが不要になり、だれでも慣れ親しんだ SQL のスキルを使って、大型データセットをすばやく、簡単に分析できるようになります。
Athena Federated Query
今回の大阪リージョンのアップデートでは、Athenaの標準機能だけではなく最新拡張機能が大阪リージョンでもご利用可能となっています。その代表的な機能がAthena Federated Query です。従来Athena がSQLを発行可能な対象は、Amazon S3でしたが、Federated Query の機能を用いることで、外部のデータソースにクエリを発行することが可能になります。
この機能はAWS Lambda で実行されるデータソースコネクタを介して外部データソースとの接続が提供されます。これにより、Athena 上からSQLでデータソースコネクタを介した外部データソースへのSQL発行が可能となります。Amazon CloudWatch Logs、Amazon DynamoDB、Amazon DocumentDB、Amazon RDS、および MySQL や Apache 2.0 ライセンスに基づく PostgreSQL などの JDBC 準拠のリレーショナルデータソースといったデータソース用コネクタはあらかじめ用意されています。さらにAthena Query Federation SDK を使用してカスタムコネクタの記述をC、C++、Java、Python、Rust などの言語で実装することが可能です。詳しくはこちらをご覧ください。
BIツールとの連携
データソースコネクタに加えて、Athena 自体がODBC (Open Database Connectivity) ドライバーまたは JDBC (Java Database Connectivity) ドライバーのインターフェースを持つため、BIツールとの連携が可能です。こちらにODBC用ドライバ、JDBC用ドライバがあります。2021年8月8日現在大阪リージョンではAWS が提供しているサーバレスBIサービスであるAmazon QuickSightはまだご利用いただけませんが、東京リージョンなどQuickSightが対応しているリージョンでは、QuickSightとの連携も可能となり、こちらに そのハンズオン手順がありますので、興味がある方は東京リージョンなどで是非挑戦してみてください。Federated Queryを用いてDynamoDBの中身を可視化するシナリオになっています。
AWS Glue と AWS Glue メタデータ
Athena はAmazon S3等 データに関するテーブルメタデータの保存と取得に AWS Glue Data Catalog を使用します。テーブルメタデータは、Athena クエリエンジンがクエリするデータの検索、読み取り、および処理方法を把握できるようにします。言い換えると、データベースが存在していない対象にSQLを発行するために、対象データをメタデータとして管理し、テーブルであるかのようなふるまいを行う部分を管理しているのがAWS Glue と言えます。Glue は Amazon EMR、Amazon Redshift Spectrum、および任意の Apache Hive Metastore 互換アプリケーションと統合されており、データ分析を行う際に、用いたいテクノロジーや分析手法によってAWSのサービスを使い分けていく、ということが可能となります。
さらにGlue の ETL エンジンを使用するとで、カスタマイズ性、再利用性、可搬性の高い Python コードを生成することができます。 ETL ジョブは、Glue の完全マネージド型のサーバレスなスケールアウト Spark インフラストラクチャで実行され、Athenaとの組み合わせにより完全サーバレス型のデータETL、分析基盤の構築が可能となっています。
– シニアエバンジェリスト 亀田