全般
- メタデータの統合リポジトリ: AWS Glue は AWS の幅広いサービスと統合されています。Amazon Aurora、Amazon RDS MySQL、Amazon RDS PostreSQL、Amazon Redshift、Amazon S3 に保存されたデータに加え、Amazon EC2 で実行されている Virtual Private Cloud (Amazon VPC) 内の MySQL および PostgreSQL データベースが AWS Glue でサポートされます。AWS Glue は、初期状態で Amazon Athena、Amazon EMR、Amazon Redshift Spectrum、および任意の Apache Hive Metastore 互換アプリケーションと統合されています。
- スキーマとパーティションの自動認識: AWS Glue ではデータソースを自動的にクロールし、データフォーマットを識別してスキーマと変換を提案します。クローラーはテーブル作成の自動化とパーティションの自動ロードに役立ちます。
- 簡単なパイプライン構築: AWS Glue の ETL エンジンを使用すると、カスタマイズ性、再利用性、可搬性の高い Python コードを生成できます。コードは任意の IDE やテキストエディタを使用して編集でき、GitHub で他のユーザーと共有できます。準備のできた ETL ジョブは、AWS Glue の完全マネージド型のスケールアウト Spark インフラストラクチャで実行されるようにスケジュールできます。AWS Glue はサーバーレスで、ETL ジョブの実行に必要なリソースのプロビジョニング、設定、スケーリングを行います。これにより、ETL をワークフローに緊密に統合できます。
用途別 Athena とその他のビッグデータサービスの比較
テーブル、データ形式およびパーティションの作成
- Apache ウェブログ: "org.apache.hadoop.hive.serde2.RegexSerDe"
- CSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- TSV: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- カスタム区切り文字: "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
- Parquet: "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
- Orc: "org.apache.hadoop.hive.ql.io.orc.OrcSerde"
- JSON: "org.apache.hive.hcatalog.data.JsonSerDe" または "org.openx.data.jsonserde.JsonSerDe"
クエリとデータ形式
Q: Amazon QuickSight と Amazon Athena を併用できますか?
Q: Athena では他の BI ツールや SQL クライアントをサポートしていますか?
Q: Amazon Athena でサポートされている関数をどのように利用できますか?
Athena Query Federation SDK を使用し、UDF を Java で記述できます。Athena に送信された SQL クエリで UDF を使用する場合、AWS Lambda で呼び出しや実行が処理されます。UDF を SQL クエリの SELECT 句および FILTER 句で使用できます。複数の UDF を同じクエリで呼び出すことができます。
横串検索
Q: 横串検索とは何ですか?
Simple Storage Service (Amazon S3) とは異なるソースにデータがある場合は、 Amazon を使用して、所定のデータをクエリするか、複数のデータソースからデータを抽出して Simple Storage Service (Amazon S3) に保存するパイプラインを構築することができます。Athena 横串検索により、リレーショナル、非リレーショナル、オブジェクト、カスタムデータソースに保存されているデータに対して SQL クエリを実行することができます。
Q: Athena で横串検索を使用する必要があるのはなぜですか?
組織は多くの場合、アプリケーションやビジネスプロセスのニーズを満たすデータソースにデータを保存します。これらには、S3 データレイクにデータを保存する以外に、リレーショナル、key-value、ドキュメント、インメモリ、検索、グラフ、時系列、台帳データベースが含まれる場合があります。このような多様なソースに対して分析を行うことは、一般的に新しいプログラミング言語やデータベース構造を学習し、分析に使用する前にデータを抽出、変換、複製する複雑なパイプラインを構築する必要があるため、複雑で時間がかかる場合があります。Athena は、データがある場所で SQL クエリを実行できるため、このような複雑さを解消します。よく知っている SQL 構文を使用して、複数のデータソースに対してデータのクエリを実行できます。また、スケジューリングされた SQL クエリを使用して、複数のデータソースからデータを抽出、変換し、そのデータを S3 に保存して今後の分析で利用することができます。
Q: どのようなデータソースがサポートされていますか?
Athena は、Amazon Redshift や Amazon DynamoDB を含むいくつかの一般的なデータストアへの内蔵コネクタを提供します。これらのコネクタを使用することで、構造化、半構造化、オブジェクト、グラフ、時系列、およびその他のデータストレージタイプで SQL 分析のユースケースを有効にすることができます。サポートされるソースの一覧は、Athena データソースコネクタの使用を参照してください。
また、Athena のデータコネクタ SDK を使用して、カスタムデータソースコネクタを作成し、Athena でクエリを実行することも可能です。私たちのドキュメントとコネクタの実装例を確認することから始めてください。
Q: 横串検索によって、どのようなユースケースが可能になるのですか?
Athena を使用すると、新しい言語を学習したり、データを抽出 (および複製) するスクリプトを開発したり、インフラストラクチャを管理したりすることなく、既存の SQL 知識を活用して幅広いデータソースからインサイトを抽出することができます。Amazon Athena を使用することで、次のことが可能になります。
- 複数のデータストアに分散するデータに対して、単一のツールと SQL ダイアレクトを使用してオンデマンド分析を実行する
- ビジネスインテリジェンスアプリケーションでデータを可視化し、複雑なマルチソース結合を JDBC および ODBC インターフェイス経由で Athena の分散コンピューティングエンジンにプッシュする
- Athena と AWS Step Functions の統合により、セルフサービスの ETL パイプラインとイベントベースのデータ処理ワークフローを設計する
- 多様なデータソースを統合し、機械学習モデルトレーニングのワークフローのための豊富な入力機能を生成する
- データメッシュアーキテクチャ全体からインサイトを引き出す、ユーザー向けの製品としてのデータアプリケーションを開発する
- お客様の組織がオンプレミスのソースを AWS クラウドに移行している間、分析ユースケースをサポートする
Q: ETL (抽出、変換、ロード) に横串検索を使用できますか?
Athena はクエリ結果を Simple Storage Service (Amazon S3) にファイルとして保存します。つまり、Athena を使用して他のユーザーやアプリケーションがフェデレ―テッドデータを利用できるようにすることができます。もし、基となるソースに繰り返しクエリを実行せずに Athena を使ってデータの分析を行いたい場合は、Athena の CREATE TABLE AS 関数を使用します。また、Athena の UNLOAD 関数を使用してデータをクエリし、その結果を Simple Storage Service (Amazon S3) の特定のファイル形式で保存することができます。
Q: データソースコネクタはどのように機能しますか?
データソースコネクタは、ターゲットデータソースと Athena の間を変換する AWS Lambda 上で実行されるコード片です。データソースコネクタを使用してデータストアを Athena に登録すると、フェデレ―テッドデータストア上で SQL クエリを実行できるようになります。クエリがフェデレ―テッドソース上で実行されると、Athena は Lambda 関数を呼び出し、クエリのうちフェデレ―テッドソースに固有の部分を実行するタスクを課します。詳細については、Amazon Athena 横串検索の使用を参照してください。