简体   繁体   English

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

[英]How to create linked tables in Amazon Athena?

everyone! 大家! I have some problems with creating linked tables in Athena. 我在Athena中创建链接表时遇到一些问题。 When I add primary or foreign key to my sql query there is an error. 将主键或外键添加到我的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/'

Can you help me? 你能帮助我吗?

There is no such thing as primary or foreign keys in Athena. 雅典娜中没有主键或外键。 Here is the documentation for what features Athena supports when creating a table: https://docs.aws.amazon.com/athena/latest/ug/create-table.html 以下是雅典娜在创建表格时支持哪些功能的文档: https : //docs.aws.amazon.com/athena/latest/ug/create-table.html

Primary and foreign keys are used by RDBMSs for ensuring constraints – for example to ensure you don't insert rows with duplicate IDs, or remove rows in related tables. RDBMS使用主键和外键来确保约束–例如,确保不插入具有重复ID的行,或删除相关表中的行。 These are not as relevant in a system like Athena where there are no inserts or updates. 在没有插入或更新的Athena这样的系统中,这些不那么相关。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM