一次任务造成会话太多

:fire:我现在用 spark nebula 写数据入数据库,数据量大概10万,withBatch配置的是1000,withPartition(50),但是任务跑完之后 我查看下会话,show sessions 看到会话增加200多,这是什么原因造成的

你的 spark connector 什么版本的

3.3.0

是已知问题,这个pr 已经修复了哈 release session before close NebulaPool by Nicole00 · Pull Request #73 · vesoft-inc/nebula-spark-connector · GitHub

1 个赞

我想知道 为啥一次任务不应该是一次会话session吗 为啥会出现上百次会话呢,是不是什么参数没设置对

一个 task 因为是被 split 成可以并行的部分然后同时执行的,所以是申请超过一个 session 的,这个 pr 之前,没有针对 session 做释放导致了残留哈

1 个赞

你好,我用nebula-spark-connector存数据,val nebulaWriteVertexConfig = WriteNebulaVertexConfig
.builder()
.withSpace(“space1”)
.withTag(“player”)
.withVidField(“name”)
.withUser(“root”)
.withPasswd(“nebula”)
.withVidAsProp(true)
.withBatch(512)
.withWriteMode(WriteMode.UPDATE)
.build()
df.write.nebula(config, nebulaWriteVertexConfig).writeVertices(),之后我用这个方法session.close关闭会话,可是我去平台上show sessions ,会话还是很多,没关掉,怎么才能关掉 df写的会话呢

目前 nebula 中的 session 跟 connection 做了分离,connection 断开并不会释放 session,这块确实设计上有些问题,现在正在开发 kill session 相关的操作,春节后的版本就会发布,届时可以手动通过命令显式清理没用的 session。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。