如何在Amazon Athena中创建链接表?

时间:2019-07-10 12:58:55

标签: sql amazon-web-services amazon-s3 amazon-athena

大家!我在Athena中创建链接表时遇到一些问题。 当我在SQL查询中添加主键或外键时,出现错误。

CREATE EXTERNAL TABLE `organization`( 
  `id` string PRIMARY KEY COMMENT 'from deserializer', 
  `version` int COMMENT 'from deserializer', 
  `timestamp` string COMMENT 'from deserializer', 
  `tzOffset` string COMMENT 'from deserializer')
ROW FORMAT SERDE 
  'org.openx.data.jsonserde.JsonSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  's3://test/test/'

CREATE EXTERNAL TABLE `users`( 
      `routinename` string COMMENT 'from deserializer', 
      `eventType` string COMMENT 'from deserializer', 
      FOREIGN KEY (organizationId) REFERENCES organization (id) COMMENT 'from deserializer')
    ROW FORMAT SERDE 
      'org.openx.data.jsonserde.JsonSerDe' 
    STORED AS INPUTFORMAT 
      'org.apache.hadoop.mapred.TextInputFormat' 
    OUTPUTFORMAT 
      'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    LOCATION
      's3://test/test1/'

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

Athena中没有主键或外键。以下是雅典娜在创建表格时支持哪些功能的文档:https://docs.aws.amazon.com/athena/latest/ug/create-table.html

RDBMS使用主键和外键来确保约束-例如,确保不插入具有重复ID的行,或删除相关表中的行。在像Athena这样没有插入或更新的系统中,这些没有那么重要。