【问题标题】:Creating Internal Table in Amazon Athena在 Amazon Athena 中创建内部表
【发布时间】:2018-10-18 11:36:51
【问题描述】:

我正在尝试在 Athena 中创建一个内部表,在 S3 中以 parquet 格式的数据:

CREATE TABLE IF NOT EXISTS `vdp_dev.owners_daily`(

  `owner_id` string COMMENT 'from deserializer',
  `username` string COMMENT 'from deserializer',
  `billing_with` string COMMENT 'from deserializer',
  `billing_contacts` string COMMENT 'from deserializer',
  `error_code` string COMMENT 'from deserializer')

PARTITIONED BY (
  `dt` string)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://xxxxx-xx-xxxx-xxxxxx/dim/daily/owners';

但出现以下错误:

仅支持创建外部表。 (服务:亚马逊雅典娜; 状态码:400;错误代码:无效请求异常;请求编号: 13c5325b-2217-4989-b5f3-e717462329c1)

有人知道为什么会这样吗? 为什么我不能在 Athena 中创建内部表?

【问题讨论】:

    标签: amazon-s3 ddl amazon-athena


    【解决方案1】:

    来自雅典娜documentation:

    所有表都是外部的 如果您使用没有 EXTERNAL 关键字的 CREATE TABLE,Athena 会发出错误;只能创建带有 EXTERNAL 关键字的表。我们建议您始终使用 EXTERNAL 关键字。在 Athena 中删除表时,仅删除表元数据;数据保留在 Amazon S3 中。

    【讨论】:

    猜你喜欢
    • 2020-05-12
    • 2020-03-19
    • 2021-07-03
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多