大家!我在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/'
你能帮我吗?
答案 0 :(得分:0)
Athena中没有主键或外键。以下是雅典娜在创建表格时支持哪些功能的文档:https://docs.aws.amazon.com/athena/latest/ug/create-table.html
RDBMS使用主键和外键来确保约束-例如,确保不插入具有重复ID的行,或删除相关表中的行。在像Athena这样没有插入或更新的系统中,这些没有那么重要。