我正在使用刮刀并使用EC2将数据上传到redshift。我不想先将数据上传到S3。我的代码在Jupyter Notebook中。但是,我得到“字符串包含无效或不支持的UTF8代码点。错误的UTF8十六进制序列:80(错误3)”错误,我看到很多其他人之前已经问过。我甚至在redshift上找到了一个使用远程桌面的页面。但是,正如我之前所说,我宁愿不通过S3。这可能吗? 目前使用psycopg2连接数据库。我认为它不起作用,但我尝试在数据库用户/密码行之后放入acceptinvchars,并且它说ACCEPTINVCHARS没有定义。
答案 0 :(得分:0)
如果要直接从笔记本复制数据到Redshift,则必须编写有效的INSERT
语句并对Redshift中的现有表执行它们。但是,这种方法的吞吐量非常低。我不知道你打算写多少数据,但我想scrappers应该有更高的吞吐量。您可以先将Python脚本的输出写入同一EC2实例,然后使用COPY
命令。
有关从EC2实例复制的更多信息:COPY from Remote Host (SSH)
至于你的错误,你的输入中可能有重音字母,你需要在任何地方使用LATIN1
编码