簡體   English   中英

根據數據類型將來自AWS Kinesis的數據放入不同的存儲桶中

[英]Put data from AWS Kinesis into different buckets based on data type

我遵循了教程中描述的設置,以配置從Aurora到Redshift的數據管道。 我已經將此功能完美地用於一張桌子,例如Sales。

但是,現在我想擴展內容,以便可以從其他表(例如“產品”和“類別”)中引入數據,以使每種數據類型最終都可以在Redshift中的單獨表中找到,即Redshift應該另外有一個Sales表和一個Product表。到類別表。

我該如何使用Kinesis / S3 / Redshift設置?

Redshift僅能從一個S3位置引入數據。 同樣,可以將Kinesis配置為僅將數據放入一個S3位置。 我正在嘗試找到一種方法,根據數據類型從運動學中提取記錄,以便將它們放入不同的S3位置,以便可以將它們拉到單獨的Redshift表中。

顯而易見的解決方案是使每個流對應一個數據類型具有多個流,但是我認為這樣做會很昂貴。 有什么選擇可以做到這一點?

好消息。 在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集群查詢所有表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM