分析引用:https://juejin.cn/post/6844904106742513672

    【问题】:spark分区并发插入操作insert onduplicate key会产生死锁
    【回答】:简而言之,还是gap锁之间是不互斥的,而gap锁和插入意向锁之间是互斥的;在并发过程中,两个session同时持有相同的数据区间的gap锁,而两个会话的插入意向锁都在等待对方释放gap锁而等待;
    【解决】:改成串行插入:spark算子repartition(1)。