场景
我有一个维护事务数据的来源。它们大约有900列,根据新业务的要求,它们增加了额外的列。
我们是一个BI团队,我们只提取大约200列,这是我们的报告所需要的。但是,当启动新业务/需要新的分析时,有时用户会接近我们,并要求我们从源中提取额外的列。
电流设计:
我们还为将来的列创建了一个带有额外列的表。我们正在维护一个400个列表,其将来的列名为str_01、str_02.、numer_01、numer_02.date_01,date_02.等。
我们有一个映射表,它映射表中的列和Source表中的列。利用这个映射表,我们从源中提取数据。
问题:
最近,我们已经达到了我们表的400列限制,我们将无法装载任何新的列。我们可以实现的一种方法是修改表,将列增加到500 (或600),但我正在寻找关于如何为这些场景实现ETL /设计表结构的其他解决方案。
发布于 2018-01-16 07:59:59
我认为您的附加列是度量,而不是维度。因此,您可以将维度保存在各个列中,并将它们包含在排序键中,并以JSON存储度量,并在需要时访问它们。另外,如果您能够区分经常使用的度量和偶尔使用的度量,那么可以将经常使用的度量存储在列中,而将偶尔使用的度量存储在JSON中。Redshift支持提取给定键的值,并且您还能够为更复杂的处理设置Python。
https://stackoverflow.com/questions/48272093
复制相似问题