Amazon Athena
ユーザーガイド

ビューの考慮事項

Athena でビューを作成して使用する場合、次の考慮事項が適用されます。

  • Athena で作成されたビューをプレビューして操作できるのは、Athena コンソール、AWS Glue データカタログ (使用するために移行した場合)、同じカタログに接続している Amazon EMR クラスターで実行している Presto を使用する場合です。他の方法で作成された Athena ビューをプレビューあるいは追加することはできません。

  • AWS GlueData Catalog を通じてビューを作成する場合は、PartitionKeys パラメータを指定し、その値を空のリストに設定する必要があります (例: "PartitionKeys":[])。それ以外の場合、ビューは Athena で失敗します。次の例では、"PartitionKeys":[] を使用して Data Catalog から作成されたビューを示します。

    aws glue create-table --database-name mydb --table-input '{ "Name":"test", "TableType": "EXTERNAL_TABLE", "Owner": "hadoop", "StorageDescriptor":{ "Columns":[{ "Name":"a","Type":"string"},{"Name":"b","Type":"string"}], "Location":"s3://xxxxx/Oct2018/25Oct2018/", "InputFormat":"org.apache.hadoop.mapred.TextInputFormat", "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo":{"SerializationLibrary":"org.apache.hadoop.hive.serde2.OpenCSVSerde", "Parameters":{"separatorChar": "|", "serialization.format": "1"}}},"PartitionKeys":[]}'
  • Data Catalog で Athena ビューを作成した場合、Data Catalog はビューをテーブルとして扱います。テーブルレベルのきめ細かなアクセスコントロールを Data Catalog で使用して、これらのビューへのアクセスを制限できます。

  • Athena は再帰的なビューの実行を回避し、そのような場合にはエラーメッセージを表示します。再帰的なビューとは、自身を参照するビュークエリです。

  • Athena は古いビューを検出し、そのような場合にはエラーメッセージを表示します。古いビューとは、存在しないテーブルやデータベースを参照するビュークエリです。

  • ネストされたビューのクエリが有効であり、テーブルおよびデータベースが存在する限り、ネストされたビューを作成して実行できます。