フェデレーテッドテーブル名修飾子を理解する - Amazon Athena

フェデレーテッドテーブル名修飾子を理解する

Athena はデータオブジェクトの階層を指すのに次の用語を使います。

  • データソース — データベースのグループ

  • データベース — テーブルのグループ

  • テーブル — 行または列のグループとして整理されたデータ

これらのオブジェクトは、次のように代替だが同等の名前で呼ばれることもあります。

  • データソースはカタログと呼ばれることもあります。

  • データベースはスキーマと呼ばれることもあります。

Athena コンソールの次のクエリ例では、awsdatacatalog データソース、default データベース、および some_table テーブルを使用しています。

Athena クエリエディタのデータオブジェクトの階層。

フェデレーションデータソースの用語

フェデレーションデータソースをクエリする場合、基になるデータソースが Athena と同じ用語を使用していない可能性があることに注意してください。フェデレーションクエリを作成する場合、この区別を念頭に置いてください。以下のセクションでは、Athena のデータオブジェクト用語がフェデレーションデータソースのデータオブジェクト用語とどのように対応するかを説明します。

Amazon Redshift

Amazon Redshift データベースは、Redshift テーブルのグループを含む Redshift スキーマのグループです。

Athena Redshift
共有データソース Redshift コネクタの Lambda 関数は、Redshift database を指すように設定されています。
data_source.database.table database.schema.table

クエリの例

SELECT * FROM Athena_Redshift_connector_data_source.Redshift_schema_name.Redshift_table_name

このコネクタの詳細については、「Amazon Athena Redshift コネクタ」を参照してください。

Cloudera Hive

Cloudera Hive サーバーまたはクラスターは、Cloudera Hive テーブルのグループを含む Cloudera Hive データベースのグループです。

Athena [Hive]
Cloudera Hive データソース Cloudera Hive コネクタの Lambda 関数は Cloudera Hive server を指すように設定されています。
data_source.database.table server.database.table

クエリの例

SELECT * FROM Athena_Cloudera_Hive_connector_data_source.Cloudera_Hive_database_name.Cloudera_Hive_table_name

このコネクタの詳細については、「Amazon Athena Cloudera Hive コネクタ」を参照してください。

Cloudera Impala

Impala サーバーまたはクラスターは、Impala テーブルのグループを含む Impala データベースのグループです。

Athena Impala
Impala データソース Impala コネクタの Lambda 関数は Impala server を指すように構成されています。
data_source.database.table server.database.table

クエリの例

SELECT * FROM Athena_Impala_connector_data_source.Impala_database_name.Impala_table_name

このコネクタの詳細については、「Amazon Athena Cloudera Impala コネクタ」を参照してください。

MySQL

MySQL サーバーは MySQL テーブルのグループを含む MySQL データベースのグループです。

Athena MySQL
MySQL データソース MySQL コネクタの Lambda 関数は MySQL server を指すように設定されています。
data_source.database.table server.database.table

クエリの例

SELECT * FROM Athena_MySQL_connector_data source.MySQL_database_name.MySQL_table_name

このコネクタの詳細については、「Amazon Athena MySQL コネクタ」を参照してください。

Oracle

Oracle サーバー (またはデータベース) は、Oracle テーブルのグループを含む Oracle スキーマのグループです。

Athena Oracle
Oracle データソース Oracle コネクタの Lambda 関数は Oracle server を指すように設定されています。
data_source.database.table server.schema.table

クエリの例

SELECT * FROM Athena_Oracle_connector_data_source.Oracle_schema_name.Oracle_table_name

このコネクタの詳細については、「Amazon Athena Oracle コネクタ」を参照してください。

Postgres

Postgres サーバー (またはクラスター) は Postgres データベースのグループです。Postgres データベースは Postgres テーブルのグループを含む Postgres スキーマのグループです。

Athena Postgres
Postgres データソース Postgres コネクタの Lambda 関数は Postgres serverdatabaseを指すように設定されています。
data_source.database.table server.database.schema.table

クエリの例

SELECT * FROM Athena_Postgres_connector_data_source.Postgres_schema_name.Postgres_table_name

このコネクタの詳細については、「Amazon Athena PostgreSQL コネクタ」を参照してください。