创建命名空间
表命名空间是在 Amazon S3 表存储桶中对表进行分组的逻辑构造。每个表都属于单个命名空间。在表存储桶中创建表之前,必须创建一个命名空间来对表进行分组。可以使用 Amazon S3 控制台、Amazon Command Line Interface(Amazon CLI)、Amazon S3 REST API、Amazon SDK 或集成查询引擎创建命名空间。
命名空间名称
以下命名规则适用于命名空间:
-
名称长度必须介于 1 到 255 个字符之间。
-
名称只能由小写字母、数字和下划线 (
_
) 组成。命名空间名称的开头不支持使用下划线。 -
名称必须以字母或数字开头和结尾。
-
名称不得包含连字符 (
-
) 或句点 (.
)。
有关有效命名空间名称的更多信息,请参阅表和命名空间的命名规则。
以下过程通过使用 Athena 创建表工作流程在 Amazon S3 控制台中创建命名空间。如果您不想同时使用 Amazon Athena 在命名空间中创建表,则可以在创建命名空间后取消该工作流程。
创建命名空间
登录到Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
在左侧导航窗格中,选择表存储桶。
-
在表存储桶页面上,选择要在其中创建命名空间的存储桶。
-
在存储桶详细信息页面上,选择使用 Athena 创建表。
-
在使用 Athena 创建表对话框中,选择创建命名空间,然后选择创建命名空间。
-
在命名空间名称字段中输入名称。命名空间名称必须为 1 到 255 个字符,并且在表存储桶中是唯一的。有效字符为 a–z、0–9 和下划线 (
_
)。命名空间名称的开头不支持使用下划线。 -
选择 Create namespace (创建命名空间)。
-
如果您还想创建表,请选择使用 Athena 创建表。有关使用 Athena 创建表的更多信息,请参阅使用 S3 控制台和 Amazon Athena。如果您不想立即创建表,请选择取消。
此示例说明如何使用 Amazon CLI 创建表命名空间。要使用此示例,请将
替换为您自己的信息。user input placeholders
aws s3tables create-namespace \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-bucket1
\ --namespaceexample_namespace
您可以在连接到 Amazon S3 表存储桶的 Apache Spark 会话中创建命名空间。
此示例向您展示如何在与 S3 表类数据存储服务集成的查询引擎中使用 CREATE
语句来创建表。要使用此示例,请将用户输入占位符
替换为您自己的信息。
spark.sql("CREATE NAMESPACE IF NOT EXISTS s3tablesbucket.
my_namespace
")