S3 テーブルカタログでのデータベースとテーブルの作成 - AWS Lake Formation

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

S3 テーブルカタログでのデータベースとテーブルの作成

データベースを作成して Apache Iceberg テーブルを整理し、テーブルを作成して S3 テーブルカタログ内のデータのスキーマと場所を定義できます。

  1. コンソール (https://console.aws.amazon.com/lakeformation/) を開き、データレイク管理者またはデータベース作成者としてサインインします。

  2. ナビゲーションペインの [データカタログ][データベース] を選択します。

  3. [データベースの作成] を選択します。

  4. [データベースの作成] ページで、[データベース] オプションを選択し、次の詳細を入力します。

    • 名前 – データベース用に一意の名前を入力します。

    • データカタログ – S3 テーブルカタログを選択します。データベースはこのカタログにあります。

    • 説明 – (オプション) 説明と場所を追加します。

    • 新しいテーブルの IAM アクセスコントロール – オプションで、[このデータベース内の新しいテーブルには IAM アクセスコントロールのみを使用する] を選択します。このオプションの詳細については、「データレイクのデフォルトセキュリティ設定の変更」を参照してください。

    • [データベースを作成] を選択します。S3 テーブルカタログの下に作成されたデータベースが表示されます。

次の CLI コマンドは、S3 テーブルカタログでデータベースを作成する方法を示しています。

aws glue create-database 
--region us-east-1 \
--catalog-id "123456789012:s3tablescatalog/test" \
--database-input \
 '{ "Name": "testglueclidbcreation" }'       

Lake Formation コンソールまたは AWS Glue CreateTable API を使用して、S3 テーブルカタログで Apache Iceberg メタデータテーブルを作成できます。

  1. Lake Formation コンソール (https://console.aws.amazon.com/lakeformation/) を開き、データレイク管理者または CreateTable アクセス許可を持つユーザーとしてサインインします。

  2. ナビゲーションペインの [データカタログ] で、[テーブル] を選択します。

  3. [テーブルの作成] を選択します。

  4. [テーブルの作成] ページで、テーブルの詳細を入力します。

    S3 テーブルカタログ
    • テーブル名 – テーブルの一意の名前を入力します。

    • カタログ – カタログとして S3 テーブルカタログを選択します。

    • データベース – S3 テーブルカタログでデータベースを選択します。

    • 説明 – テーブルの説明を入力します。

    • スキーマ - [列を追加] を選択して、列と、列のデータ型を追加します。空のテーブルを作成して、後でスキーマを更新することもできます。Iceberg では、テーブルを作成した後でスキーマとパーティションを進化させることができます。[Athena クエリ] を使用してテーブルスキーマを更新し、[Spark クエリ] を使用してパーティションを更新できます。

  5. [Submit] を選択してください。

aws glue create-table \ 
--database-name "testglueclidbcreation" \ 
--catalog-id "123456789012:s3tablescatalog/test" \ 
--region us-east-1 \ 
--table-input \ 
'{ "Name": "testtablegluecli", "Parameters": { "format": "ICEBERG" }, "StorageDescriptor": { "Columns": [ {"Name": "x", "Type": "int", "Parameters": {"required": "true"}} ] } }'