第 3 步:创建 Lake Formation 数据库 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 3 步:创建 Lake Formation 数据库

在此步骤中,您将创建两个数据库,并将 LF-Tag 附加到数据库和特定列以进行测试。

创建用于数据库级别访问的数据库和表
  1. 首先,创建数据库tag_database、表source_data,并附加相应的 LF 标签。

    1. 在 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/) 的 “数据目录” 下,选择 “数据库”。

    2. 选择创建数据库

    3. 名称中,输入 tag_database

    4. 对于位置,输入通过 Amazon CloudFormation 模板 (s3://lf-tagbased-demo-Account-ID/tag_database/) 创建的 Amazon S3 位置。

    5. 取消选中仅对此数据库中的新表使用 IAM 访问控制

    6. 选择创建数据库

  2. 接下来,在 tag_database 中创建一个新表。

    1. 数据库页面上,选择数据库 tag_database

    2. 选择查看表,然后单击创建表

    3. 名称中,输入 source_data

    4. 对于 Database (数据库),选择 tag_database 数据库。

    5. 对于表格格式,请选择标准Amazon Glue表格

    6. 对于数据位置,选择我的账户中的指定路径

    7. 在“包含路径”中,输入要通过 Amazon CloudFormation 模板 (s3://lf-tagbased-demoAccount-ID/tag_database/) 创建的 tag_database 的路径。

    8. 对于数据格式,选择 CSV

    9. 上传架构下,输入以下 JSON 列结构数组以创建架构:

      [ { "Name": "vendorid", "Type": "string" }, { "Name": "lpep_pickup_datetime", "Type": "string" }, { "Name": "lpep_dropoff_datetime", "Type": "string" }, { "Name": "store_and_fwd_flag", "Type": "string" }, { "Name": "ratecodeid", "Type": "string" }, { "Name": "pulocationid", "Type": "string" }, { "Name": "dolocationid", "Type": "string" }, { "Name": "passenger_count", "Type": "string" }, { "Name": "trip_distance", "Type": "string" }, { "Name": "fare_amount", "Type": "string" }, { "Name": "extra", "Type": "string" }, { "Name": "mta_tax", "Type": "string" }, { "Name": "tip_amount", "Type": "string" }, { "Name": "tolls_amount", "Type": "string" }, { "Name": "ehail_fee", "Type": "string" }, { "Name": "improvement_surcharge", "Type": "string" }, { "Name": "total_amount", "Type": "string" }, { "Name": "payment_type", "Type": "string" } ]
    10. 选择上传。上传架构后,表架构看上去应如以下屏幕截图所示:

    11. 选择提交

  3. 接下来,在数据库级别附加 LF 标签。

    1. 数据库页面上,找到并选择 tag_database

    2. 在 “操作” 菜单上,选择 “编辑 LF 标签”

    3. 选择分配新的 LF 标签

    4. 对于分配的密钥,请选择您之前创建的 Confidential LF-Tag。

    5. 对于,选择 True

    6. 选择保存

    这样就完成了对 tag_database 数据库的 LF-Tag 赋值。

创建用于列级别访问的数据库和表

重复以下步骤创建数据库col_tag_database和表source_data_col_lvl,并在列级别附加 LF-Tag。

  1. 数据库页面上,选择创建数据库

  2. 名称中,输入 col_tag_database

  3. 对于位置,输入通过 Amazon CloudFormation 模板 (s3://lf-tagbased-demo-Account-ID/col_tag_database/) 创建的 Amazon S3 位置。

  4. 取消选中仅对此数据库中的新表使用 IAM 访问控制

  5. 选择创建数据库

  6. 数据库页面上,选择您的新数据库 (col_tag_database)

  7. 选择 “查看表”,然后单击 “创建表”。

  8. 名称中,输入 source_data_col_lvl

  9. 对于数据库,选择您的新数据库 (col_tag_database)

  10. 对于表格格式,请选择标准Amazon Glue表格

  11. 对于数据位置,选择我的账户中的指定路径

  12. 输入 col_tag_database (s3://lf-tagbased-demo-Account-ID/col_tag_database/) 的 Amazon S3 路径。

  13. 对于数据格式,选择 CSV

  14. Upload schema下方,输入以下架构 JSON:

    [ { "Name": "vendorid", "Type": "string" }, { "Name": "lpep_pickup_datetime", "Type": "string" }, { "Name": "lpep_dropoff_datetime", "Type": "string" }, { "Name": "store_and_fwd_flag", "Type": "string" }, { "Name": "ratecodeid", "Type": "string" }, { "Name": "pulocationid", "Type": "string" }, { "Name": "dolocationid", "Type": "string" }, { "Name": "passenger_count", "Type": "string" }, { "Name": "trip_distance", "Type": "string" }, { "Name": "fare_amount", "Type": "string" }, { "Name": "extra", "Type": "string" }, { "Name": "mta_tax", "Type": "string" }, { "Name": "tip_amount", "Type": "string" }, { "Name": "tolls_amount", "Type": "string" }, { "Name": "ehail_fee", "Type": "string" }, { "Name": "improvement_surcharge", "Type": "string" }, { "Name": "total_amount", "Type": "string" }, { "Name": "payment_type", "Type": "string" } ]
  15. 选择Upload。上传架构后,表架构看上去应如以下屏幕截图所示:

  16. 选择提交以完成表的创建。

  17. 现在,将 Sensitive=True LF-Tag 关联到列和vendoridfare_amount

    1. 页面上,选择您创建的表 (source_data_col_lvl)

    2. 在 “操作” 菜单上,选择 “架构”。

    3. 选择该列vendorid并选择 “编辑 LF-Tags”

    4. 对于已分配的键,选择区分大小写

    5. 对于,选择 True

    6. 选择保存

  18. 接下来,将 Confidential=False LF-Tag 关联到。col_tag_database这是在登录col_tag_databaself-data-analyst能够描述数据库所必需的Amazon Athena。

    1. 数据库页面上,找到并选择 col_tag_database

    2. 在 “操作” 菜单上,选择 “编辑 LF 标签”

    3. 选择分配新的 LF 标签

    4. 对于分配的密钥,请选择您之前创建的 Confidential LF-Tag。

    5. 对于,选择 False

    6. 选择保存