将 ACCCEPTINVCHARS 与远程主机一起使用
Posted
技术标签:
【中文标题】将 ACCCEPTINVCHARS 与远程主机一起使用【英文标题】:Using ACCCEPTINVCHARS with a remote host 【发布时间】:2017-06-29 13:58:49 【问题描述】:我正在使用刮板并使用 EC2 将我的数据上传到 redshift。我不希望先将数据上传到 S3。我的代码在 Jupyter Notebook 中。但是,我收到“字符串包含无效或不受支持的 UTF8 代码点。错误的 UTF8 十六进制序列:80(错误 3)”错误,我看到很多其他人之前都问过这个错误。我什至在 redshift 上找到了一个使用远程桌面的页面。但是,正如我之前所说,我宁愿不通过 S3。这可能吗? 目前使用 psycopg2 连接数据库。我认为这行不通,但我尝试在数据库用户/密码行之后放入 acceptinvchars,它说 ACCEPTINVCHARS 未定义。
【问题讨论】:
【参考方案1】:如果您想直接从笔记本将数据复制到 Redshift,您必须编写有效的 INSERT
语句并针对 Redshift 中的现有表执行它们。但是,这种方法的吞吐量非常低。我不知道你打算写多少数据,但我猜爬虫应该有比这更高的吞吐量。您可以先将 Python 脚本的输出写入同一个 EC2 实例,然后使用 COPY
命令。
更多关于从 EC2 实例复制的信息:COPY from Remote Host (SSH)
至于您的错误,您的输入中可能有重音字母,您需要在任何地方使用LATIN1
编码
【讨论】:
谢谢!!我不知道我是怎么错过的。以上是关于将 ACCCEPTINVCHARS 与远程主机一起使用的主要内容,如果未能解决你的问题,请参考以下文章
python 将Selenium与远程WebDriver一起使用
将远程 Postgresql 与 AWS for Rails 应用程序一起使用
如何将基于套接字的客户端与 WCF (net.tcp) 服务一起使用?