表、数据库和列的名称 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

表、数据库和列的名称

使用这些技巧命名 Athena 中的项目。

Athena 中的表名称和表列名称必须为小写

如果您正在与 Apache Spark 进行交互,则您的表名称和表列名称必须为小写。Athena 不区分大小写,并将表名称和列名称转换为小写,但 Spark 要求小写的表名称和列名称。

具有 mixedCase 列名称(如 profileURI)或大写列名称的查询无法运行。

特殊字符

不支持特殊字符,下划线 (_) 除外。有关更多信息,请参阅 Apache Hive LanguageManual DDL 文档。

重要

尽管通过将下划线以外的特殊字符包含在反引号 (`) 字符中可以成功创建表、视图、数据库或列名称,但引用它们的后续 DDL 或 DML 查询可能会失败。

以下划线开头的名称

创建表时,可以使用反引号将以下划线开头的表、视图或列名称括起来。例如:

CREATE EXTERNAL TABLE IF NOT EXISTS `_myunderscoretable`( `_id` string, `_index` string) LOCATION 's3://my-athena-data/'

以数字开头的表、视图或列名称

运行时SELECTCTAS,或者VIEW查询,用引号将以数字开头的表、视图或列名称等标识符括起来。例如:

CREATE OR REPLACE VIEW "123view" AS SELECT "123columnone", "123columntwo" FROM "234table"

列名称和复杂类型

对于复杂类型,只有字母数字字符、下划线 (_) 和期间 (.)在列名称中允许。要为包含受限字符的键创建表和映射,可以使用自定义 DDL 语句。有关更多信息,请参阅文章使用 JSONSerDe 从嵌套 JSON 和映射在 Amazon Athena 中创建表中的Amazon大数据博客

保留字

必须对 Athena 中的某些预留字进行转义。要对 DDL 语句中的保留关键字进行转义,请使用反引号 (`) 将其括起来。要对 SQL SELECT 语句以及视图的查询中的保留关键字进行转义,请使用双引号 ('') 将其括起来。

有关更多信息,请参阅保留关键字