繁体   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