spark mysql jdbc无错误挂起

w8biq8rn  于 2021-05-24  发布在  Spark
关注(0)|答案(0)|浏览(272)

我有一个简单的应用程序将mysql表摄取到运行在spark3.0.0(emr6.1)上的s3中。
mysql表是使用单个大执行器加载的,其内存为48g,如下所示:

spark.read \
        .option("url", jdbc_url) \
        .option("dbtable", query) \
        .option("driver", driver_class) \
        .option("user", secret['username']) \
        .option("password", secret['password']) \
        .format("jdbc").load()

spark作业在小型表上工作没有任何问题,mysql查询只需不到6分钟就可以完成。但是,在查询超过此时间的两个作业中,spark作业被卡在运行中,不会触发任何错误。stderr和stdout日志不显示任何进度,并且执行器完全正常。
dag非常简单:

在mysql(aurora-rds)中,查询似乎已完成,但连接仍处于打开状态,而检查线程状态时显示为“cleaned up”。
我尝试过mysql连接器版本5和8,但它们都显示出相同的行为。我想这可能与spark默认超时配置有关,但我想得到一些指导。
这是单个执行器的线程转储:

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题