【问题标题】:How do I execute the SHOW PARTITIONS command on an Athena table?如何在 Athena 表上执行 SHOW PARTITIONS 命令?
【发布时间】:2019-10-17 10:51:39
【问题描述】:

我第一次将 AWS Athena 与 AWS Glue 一起使用,S3 提供了一个“文件夹”结构,它映射到我的数据中的分区 - 我正在进入概念,所以请原谅任何错误的描述!

我正在查看当我将数据添加到我的 S3 存储桶并看到新文件夹被忽略时会发生什么。深入挖掘我遇到了“显示分区”命令,如此处所述https://docs.aws.amazon.com/athena/latest/ug/show-partitions.html,我正在尝试使用 Athena 查询编辑器对我的测试表执行此操作,并考虑我将继续使用“ALTER” TABLE ADD PARTITION' 命令添加新的 S3 文件夹。

我正在尝试在 AWS Athena 控制台查询编辑器中执行“SHOW PARTITIONS”命令:

SHOW PARTITIONS "froms3_customer-files"."unit"

但是当我尝试执行它时,我看到了这条消息:

line 1:17: missing {'from', 'in'} at '"froms3_customer-files"' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: c0c0c351-2d42-4da4-b1f3-223b1733db65)

我很难理解这告诉我什么,有人可以在这里帮助我吗?

【问题讨论】:

  • 删除数据库和表名中的双引号。
  • @HarshBafna 恐怕结果相同
  • 语法:show partitions db.table 对我有用。当我在数据库名和表名中添加双引号时,我得到了和你一样的错误。
  • @HarshBafna 你认为这可能是 _ 和 - 以我的名义?我能以某种方式逃脱它们吗?
  • @HarshBafna 看来 AWS Glue 允许您使用 AWS Athena 不支持的字符创建数据库 - 不好!

标签: amazon-web-services amazon-s3 aws-glue amazon-athena


【解决方案1】:

Athena 不支持数据库名称中的连字符。

Athena 表、视图、数据库和列名不能包含特殊的 字符,下划线 (_) 除外。

同时从 show partitions 命令中删除双引号。

SHOW PARTITIONS froms3_customer_files.unit

参考资料:

Athena table and database naming convention

Athena show partitions

【讨论】:

    【解决方案2】:

    如果你想查看到目前为止创建的所有分区,可以使用以下命令

    SHOW PARTITIONS DB_NAME.TABLE_NAME
    

    如果要查看分区表的键,可以通过以下方式通过 UI 进行查看:

    1.点击表格菜单选项。

    2。点击显示属性

    3。点击分区查看分区。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 2022-01-21
      • 2013-09-22
      • 2016-04-05
      • 1970-01-01
      • 2018-08-02
      • 2021-07-13
      相关资源
      最近更新 更多