运行环境:
Linux:centos7.5
CDH-6.3.0(cdh自带python2版本)
anaconda3
python3.8
pymysql-1.0.2
spark-2.4.0
kylin-2.6.3
azkaban-3.90.0
问题相关代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import pymysql
import pyspark
from pyspark.sql import SparkSession
import time
import os
from pyspark.sql import functions as funs
from pyspark.sql.types import StringType, MapType
"""
-----------------------------------------------------------------------
File Name: XXXXX
Description:成都市XXXXkylin模型分析
Autior: XXX
Date: 2022/01/05
comments:
-----------------------------------------------------------------------
Change Activity:
-----------------------------------------------------------------------
"""
""" ****************** 一、连接MySQL数据库、插入统计日志表:开始执行 ****************** """
# 注意:端口号port类型为int,不加引号!
db = pymysql.connect(host = '80.2.XX.XX',
port = 3306,
user = 'root',
password = 'XXXXXX',
db = 'XXXX',
charset = 'utf8')
# 使用cursor()方法,创建一个游标对象 cursor
cursor = db.cursor()
# 定义任务名称、描述:
task_name = 'kylin_XXXX.py'
task_desc = '成都市XXX模型分析'
# 写入日志表:开始执行
# 定义开始执行sql:
sql1 = """
INSERT INTO tj_log
(task_name, task_desc, begin_time, bz)
VALUES
('""" + task_name + """',
'""" + task_desc + """',
current_timestamp(),
'开始执行')
"""
# 使用execute()方法执行SQL查询:
cursor.execute(sql1)
# 提交:
db.commit()
运行结果及报错内容
在Linux本地正常执行的.py脚本,放到azkaban定时调度报错:ImportError:No module named pymysql。
我的解答思路和尝试过的方法
1、检查安装模块 conda list,pymysql已经安装,版本 pymysql -1.0.2。
2、而且多次在本地运行脚本,状态是成功。
3、分析有可能的导致报错的地方:安装的python有多个版本,除了常用的python3,还有系统自带的python2、python2.7。由于是生产环境,如果不确定是这个问题,不能随意做改动。
我想要达到的结果
请大家指点下,是什么原因导致的报错呢?