Поместите данные из AWS Kinesis в разные группы в зависимости от типа данных - PullRequest
0 голосов
/ 27 февраля 2019

Я следовал настройке, описанной в этом руководстве, чтобы настроить конвейер данных от Aurora на всем протяжении до красного смещения.У меня это отлично работает для одного стола, например, Sales.

Однако теперь я хочу расширить возможности так, чтобы я мог вводить данные из других таблиц, например, продуктов и категорий, так, чтобы каждый тип данных оказался в отдельной таблице в Redshift, т.е. Redshift должен иметь таблицу продажи таблица продукта в дополнение к таблице категорий.

Как мне это сделать с настройкой Kinesis / S3 / Redshift?

Redshift может доставлять данные только из одного местоположения S3.Точно так же Kinesis можно настроить так, чтобы данные помещались только в одно место S3.Я пытаюсь найти способ взять мои записи из кинезиса на основе типа данных, чтобы они помещались в разные местоположения S3, чтобы я мог перетащить их в отдельные таблицы Redshift.

Очевидное решение состоит в том, чтобы иметь болееодин поток каждый соответствует типу данных, но я думаю, что это будет дорого.Какие варианты есть, чтобы сделать это?

1 Ответ

0 голосов
/ 27 февраля 2019

Хорошие новости.в Kinesis Data Firehose вы платите только за объем данных , который обрабатывает ваш конвейер, плюс преобразования данных (если применимо).Таким образом, вы можете иметь два отдельных потока, и он не должен стоить дороже, чем один.

Что касается Redshift Spectrum, вы можете на самом деле приносить данные из любого количества мест, сколько вам нужно.Если вы посмотрите на сообщение, на которое вы ссылались, есть оператор create table, подобный этому

    CREATE EXTERNAL TABLE IF NOT EXISTS spectrum_schema.ecommerce_sales(
  ItemID int,
  Category varchar,
  Price DOUBLE PRECISION,
  Quantity int,
  OrderDate TIMESTAMP,
  DestinationState varchar,
  ShippingType varchar,
  Referral varchar)
ROW FORMAT DELIMITED
      FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
LOCATION 's3://{BUCKET_NAME}/CDC/'

. В этом утверждении последняя строка ссылается на расположение файлов S3 для включения в таблицу.Вы должны настроить несколько потоков, по одному на таблицу / местоположение S3, но вы можете использовать один кластер Redshift для запроса всех ваших таблиц.

...