首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PySpark:没有名为“psycopg2._psycopg”的模块

PySpark:没有名为“psycopg2._psycopg”的模块
EN

Stack Overflow用户
提问于 2018-04-19 08:29:54
回答 1查看 647关注 0票数 4

我在一个PySpark作业中使用Psycopg2,并且在一个包含所有依赖项的压缩文件中提供它。构建脚本执行以下操作:

代码语言:javascript
复制
python -m pip install -t build/dependencies -r src/requirements.txt

requirements.txt在哪里

代码语言:javascript
复制
SQLAlchemy
psycopg2

然后压缩dependencies,我通过--py-files将其提供给spark-submit。当我在电子病历上运行作业时,SQLAlchemy被导入得很好,但我得到了这个错误:

代码语言:javascript
复制
ImportError: No module named 'psycopg2._psycopg'

如果我从需求中删除psycopg2,并手动(通过pip)将其安装在电子病历上,它就会工作得很好。我的机器和EMR上的Python版本都是3.4.7,但我的机器是Mac (而EMR是linux)。

EN

回答 1

Stack Overflow用户

发布于 2019-06-17 22:08:04

这对我很有效。

代码语言:javascript
复制
df = sqlContext.read.format('jdbc').options(url='jdbc:postgresql:dbserver', dbtable='schema.tablename').load()

sqlalchemy连接对我不起作用。

代码语言:javascript
复制
create_engine("postgresql+psycopg2://user:password@/dbname")

尝试将数据库连接到sqlcontext,将会起作用。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49910897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档