AWS Glue コンソールでのテーブルの使用
AWS Glue Data Catalog のテーブルは、データストア内のデータを表すメタデータ定義です。クローラの実行時にテーブルを作成するか、または、AWS Glue コンソールで手動でテーブルを作成できます。 コンソールの [TablesAWS Glue] (テーブル) リストに、テーブルのメタデータの値が表示されます。ETL (抽出、変換、ロード) ジョブを作成するときに、テーブル定義を使用してソースとターゲットを指定します。
注記
AWS マネジメントコンソールの最新の変更に伴い、既存の IAM ロール を SearchTables
許可を持つように変更することが必要になる場合があります。新しいロールを作成する場合、SearchTables
API 許可は既にデフォルトとして追加されています。
開始するには、AWS Management Console にサインインし、AWS Glue コンソール (https://console.aws.amazon.com/glue/
コンソールでテーブルを追加する
クローラを使用してテーブルを追加するには、[Add tables] (テーブルの追加)、[Add tables using a crawler] (クローラを使用してテーブルを追加) の順に選択します。次に、[Add crawler] (クローラの追加) ウィザードの手順に従います。クローラが実行されると、テーブルが AWS Glue Data Catalog に追加されます。詳細については、AWS Glue でのクローラーの定義 を参照してください。
Data Catalog の Amazon Simple Storage Service (Amazon S3) テーブル定義の作成に必要な属性が分かっている場合は、テーブルウィザードで作成できます。[Add tables] (テーブルの追加)、[Add table manually] (手動でのテーブルを追加) の順に選択し、[Add table] (テーブルの追加) ウィザードの手順に従います。
コンソールで手動でテーブルを追加するときは、以下の点を考慮します。
-
Amazon Athena からテーブルにアクセスする場合は、英数字とアンダースコア文字のみを使用して名前を指定してください。詳細については、「テーブル、データベース、および列の名前」を参照してください。
-
ソースデータの場所は Amazon S3 パスにする必要があります。
-
データのデータ形式は、ウィザードに表示されているいずれかの形式と一致する必要があります。対応する分類、SerDe、およびその他のテーブルのプロパティは、選択された形式に基づいて自動的に入力されます。次の形式でテーブルを定義できます。
- JSON
-
JavaScript Object Notation。
- CSV
-
文字で区切られた値。また、区切り文字として、カンマ、パイプ、セミコロン、タブ、または Ctrl-A を指定します。
- Parquet
-
Apache Parquet 列指向ストレージ。
- Avro
-
Apache Avro JSON バイナリ形式。
- XML
-
Extensible Markup Language 形式。データの行を定義する XML タグを指定します。列は行のタグ内で定義されます。
-
テーブルのパーティションキーを定義できます。
-
現在、コンソールで作成した分割されたテーブルは、ETL ジョブで使用することはできません。
テーブル属性
以下に重要なテーブル属性を示します。
- テーブル名
-
名前は、テーブルの作成時に決定され、変更することはできません。多くの AWS Glue オペレーションでテーブル名を参照します。
- データベース
-
テーブルが存在するコンテナオブジェクト。このオブジェクトには、AWS Glue Data Catalog 内に存在するテーブルの組織名が含まれ、データストアの組織名とは異なる場合があります。データベースを削除すると、データベースに含まれるすべてのテーブルも Data Catalog から削除されます。
- ロケーション
-
このテーブル定義が表すデータストア内のデータの場所へのポインタ。
- 分類
-
テーブルの作成時に指定された分類の値。通常、これはクローラが実行されてソースデータの形式を指定するときに書き込まれます。
- 最終更新日
-
Data Catalog でこのテーブルが更新された日付と時刻 (UTC)。
- 追加された日付
-
Data Catalog にこのテーブルが追加された日付と時刻 (UTC)。
- 説明
-
テーブルの説明。テーブルの内容を理解しやすくするために説明を記入できます。
- 廃止
-
AWS Glue により、Data Catalog のテーブルは元のデータストアに存在しなくなったことが分かると、そのテーブルは廃止されたとしてデータカタログにマークされます。廃止されたテーブルを参照するジョブを実行する場合、ジョブは失敗する可能性があります。廃止されたテーブルを参照するジョブを編集し、ソースおよびターゲットとして削除します。廃止されたテーブルが不要になったら削除することをお勧めします。
- Connection
-
AWS Glue でデータストアへの接続が必要な場合は、接続の名前がテーブルに関連付けられます。
テーブルの詳細の表示と編集
既存のテーブルの詳細を表示するには、リスト内のテーブル名を選択し、[Action, View details] (アクション、詳細を表示) を選択します。
テーブルの詳細にはテーブルのプロパティとスキーマが含まれます。このビューには、テーブルに定義された順序の列名、データ型、およびパーティションのキー列を含む、テーブルのスキーマが表示されます。列が複合型の場合は、以下の例に示すように、[View properties] (プロパティの表示) を選択して、そのフィールドの構造の詳細を表示します。
{ "StorageDescriptor": { "cols": { "FieldSchema": [ { "name": "primary-1", "type": "CHAR", "comment": "" }, { "name": "second ", "type": "STRING", "comment": "" } ] }, "location": "s3://aws-logs-111122223333-us-east-1", "inputFormat": "", "outputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "compressed": "false", "numBuckets": "0", "SerDeInfo": { "name": "", "serializationLib": "org.apache.hadoop.hive.serde2.OpenCSVSerde", "parameters": { "separatorChar": "|" } }, "bucketCols": [], "sortCols": [], "parameters": {}, "SkewedInfo": {}, "storedAsSubDirectories": "false" }, "parameters": { "classification": "csv" } }
StorageDescriptor
などのテーブルのプロパティの詳細については、「StorageDescriptor 構造」を参照してください。
テーブルのスキーマを変更するには、[Edit schema] (スキーマの編集) を選択し、列の追加および削除、列名の変更、データ型の変更をします。
スキーマを含め、テーブルの異なるバージョンを比較するには、[Compare versions] (バージョンの比較) を選択し、テーブルの 2 つのバージョンのスキーマを並べて比較します。詳細については、「 テーブルスキーマのバージョンの比較 」を参照してください。
Amazon S3 パーティションを構成するファイルを表示するには、[View partition] (パーティションの表示) を選択します。Amazon S3 のテーブルでは、[Key] (キー) 列に、ソースデータストアでテーブルを分割するために使用されるパーティションキーが表示されます。パーティションは、日付、場所、または部門などのキー列の値に基づいて、テーブルを関連する部分に分割する方法です。パーティションの詳細については、インターネットで「hive パーティション」を検索してください。
注記
テーブルの詳細を表示するための詳細な手順については、コンソールの [Explore table] (テーブルの確認) チュートリアルを参照してください。
テーブルスキーマのバージョンの比較
テーブルスキーマの 2 つのバージョンを比較する場合、展開・折りたたみによってネストされた行の変更点を比較、2 つのバージョンのスキーマを並べて比較、テーブルプロパティを並べて表示、などが行えます。
バージョンの比較方法
-
AWS Glue コンソールから [テーブル] > [アクション] の順に選択し、[バージョンの比較] を選択します。
-
バージョンのドロップダウンメニューから、比較するバージョンを選択します。スキーマを比較すると、[スキーマ] タブがオレンジ色で強調表示されます。
-
2 つのバージョン間でテーブルを比較すると、テーブルスキーマが画面の左側と右側に表示されます。列名、データ型、キー、コメントの各フィールドを並べて比較することで、変更点を視覚的に判断できます。変更があると、色付きのアイコンでその変更の種類が表示されます。
-
削除済み — 赤いアイコンによる表示は、以前のバージョンのテーブルスキーマから列が削除されたことを示します。
-
編集済みまたは移動済み — 青いアイコンによる表示は、新しいバージョンのテーブルスキーマで列が変更または移動されたことを示します。
-
追加 — 緑色のアイコンによる表示は、新しいバージョンのテーブルスキーマに列が追加されたことを示します。
-
ネストされた変更 — 黄色のアイコンによる表示は、ネストされた列に変更が含まれていることを示します。列を選択して展開すると、削除、編集、移動、追加のいずれかが実行された列が表示されます。
-
-
検索バーのフィルタフィールドを使用すると、ここに入力した文字に基づいてフィールドを表示できます。いずれかのテーブルバージョンで列名を入力すると、フィルタリングされたフィールドが両方のテーブルバージョンに表示され、変更が行われた箇所がわかります。
-
プロパティを比較するには、[プロパティ] タブを選択します。
-
バージョンの比較を停止するには、[比較の停止] を選択してテーブルのリストに戻ります。