最终,我通过删除并重新创建Firehose流来解决了问题 :-/。可能是通过Web控制台进行的重复编辑使事情不稳定。
但以下是故障排除指南:
select * from stl_connection_log where remotehost like '52%' order by recordtime desc;
检查Firehose使用的Redshift用户在目标表上是否具有足够的权限:
select tablename,
HAS_TABLE_PRIVILEGE(tablename, 'select') as select,
HAS_TABLE_PRIVILEGE(tablename, 'insert') as insert,
HAS_TABLE_PRIVILEGE(tablename, 'update') as update,
HAS_TABLE_PRIVILEGE(tablename, 'delete') as delete,
HAS_TABLE_PRIVILEGE(tablename, 'references') as references
from pg_tables where schemaname='public' order by tablename;
然后您可以检查是否运行了COPY命令:
select * from stl_query order by endtime desc limit 10;
然后检查加载错误或服务器错误:
select * from stl_load_errors order by starttime desc;
select * from stl_error where userid!=0 order by recordtime desc;
如果您的数据格式存在问题,或在COPY选项中存在问题,或者数据与目标列不匹配,则至少应该看到COPY尝试以及一些加载错误。
如果您仍然卡住了,那些日志表中没有任何内容,请尝试删除并重新创建整个firehose流,因为可能存在与Web控制台相关的一些错误。(这一步对我有用)