【问题标题】:Apache Spark - ModuleNotFoundError: No module named 'mysql'Apache Spark - ModuleNotFoundError:没有名为“mysql”的模块
【发布时间】:2020-03-09 15:37:52
【问题描述】:

我正在尝试将 Apache Spark 驱动程序提交到远程集群。我在使用名为mysql 的python 包时遇到了困难。我在所有 Spark 节点上安装了这个包。集群在 docker-compose 内部运行,镜像基于bde2020

$ docker-compose logs  impressions-agg
impressions-agg_1  | Submit application /app/app.py to Spark master spark://spark-master:7077
impressions-agg_1  | Passing arguments 
impressions-agg_1  | 19/11/13 18:45:20 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
impressions-agg_1  | Traceback (most recent call last):
impressions-agg_1  |   File "/app/app.py", line 6, in <module>
impressions-agg_1  |     from mysql.connector import connect
impressions-agg_1  | ModuleNotFoundError: No module named 'mysql'
impressions-agg_1  | log4j:WARN No appenders could be found for logger (org.apache.spark.util.ShutdownHookManager).
impressions-agg_1  | log4j:WARN Please initialize the log4j system properly.
impressions-agg_1  | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

模块mysql通过pip安装在所有节点上。

$ docker-compose exec spark-master pip list
Package         Version            
--------------- -------------------
mysql-connector 2.2.9              
pip             18.1               
setuptools      40.8.0.post20190503

$ docker-compose exec spark-worker pip list
Package         Version            
--------------- -------------------
mysql-connector 2.2.9              
pip             18.1               
setuptools      40.8.0.post20190503

我该如何解决这个问题? 感谢您提供任何信息。

【问题讨论】:

    标签: python mysql docker apache-spark pyspark


    【解决方案1】:

    虽然节点安装了 mysql,但 容器 没有。日志告诉你的是 impressions-agg_1 包含一个位于 /app/app.py 的脚本,它试图加载 mysql 但找不到它。

    您是否创建了impressions-agg_1?将RUN pip install mysql 步骤添加到其 Dockerfile。

    【讨论】:

    • 是的,这是个问题,容器已经安装了“mysql”,但是对于 python2 和驱动程序是用 python3 提交的... pip3 install ... 解决了这个问题。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 2018-03-08
    • 2021-09-30
    • 2020-04-01
    • 2019-03-28
    • 2021-12-14
    • 2022-01-07
    相关资源
    最近更新 更多