此语句用于在redshift中创建表:
create table scoresc
distkey (metrics_id, scorefactors_id, tips_id)
compound sortkey (metrics_id, scorefactors_id, tips_id, expor_timestamp)
as select * from scores;
=== 为什么会出错? 执行SQL命令时发生错误:
create table scoresc
distkey (metrics_id, scorefactors_id, tips_id)
compound sortkey (metrics_id, scorefactors_id, tips_id, export_timestamp...
[Amazon](500310) Invalid operation: syntax error at or near ","
Position: 46;
distkey (metrics_id, scorefactors_id, tips_id)
=============
redshift文档不提供DISTKEY
多列
答案 0 :(得分:0)
不确定您尝试使用该功能,但只能在一个密钥上分发。 distkey的想法是提供一种在群集中的所有节点之间均匀地分割表的方法,多个分发键在这方面不太有意义。
尝试使用一个distkey,而不是在群集中最均匀地划分
答案 1 :(得分:0)
如果您确定需要按所有这些列进行分发,则可以通过将这些列与某些分隔符(例如
)组合来创建其他连接键列。 metrics_id||'-'||scorefactors_id||'-'||tips_id
并将其用作桌子的dist键。