![](/img/trans.png)
[英]AWS: reading Kinesis Stream data using Kinesis Firehose in a different account
[英]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.