Как создать связанные таблицы в Amazon Athena? - PullRequest
0 голосов
/ 10 июля 2019

все!У меня есть некоторые проблемы с созданием связанных таблиц в Афине.Когда я добавляю первичный или внешний ключ к моему 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 голосов
/ 12 июля 2019

В Афине нет такого понятия, как первичные или внешние ключи.Вот документация о том, какие функции поддерживает Athena при создании таблицы: https://docs.aws.amazon.com/athena/latest/ug/create-table.html

Первичные и внешние ключи используются СУБД для обеспечения ограничений - например, чтобы гарантировать, что вы не вставляете строки с дублирующимися идентификаторами, илиудалить строки в связанных таблицах.Они не так актуальны в такой системе, как Афина, где нет вставок или обновлений.

...