Redshift大数据加载,执行Python函数

时间:2016-09-13 09:32:57

标签: amazon-redshift

我有一个大数据加载到Redshift表中,称为响应,它包含大约450M行。在每一行上,我执行一个解析用户代理的Python UDF。

我根据 question_id 列设置了一个分布,该列有大约1.5M行。问题是响应并非在问题中平均分配

  • 前10个 questions_ids 对应于所有回复中的大约60M;
  • 前20个 questions_ids 对应78M回复;

当我查看正在执行Python函数的查询的Redshift门户时,这会导致问题,我看到只有一个节点(其中有4个)正在完成大部分工作。

我应该将其他内容设置为分发列(设置 question_id 完全符合我未来的查询需求)吗?

这有什么办法吗?

1 个答案:

答案 0 :(得分:0)

啊,我发现了问题,我正在读取数据并且应用解析的表被错误地分发,将所有数据保存在单个切片中,这就是为什么解析速度慢,只有一个节点工作的原因。