我在aws emr集群中运行了一个基于scala的spark作业,它将数据摄取到一些postgresql表中。接收数据有两个步骤。
第一步。将Dataframe写入某个暂存表。
outputDF.write.mode(SaveMode.Append).jdbc(url, "staging.customer", connproperties)
第二步。运行sql语句将数据从暂存表移到主表中。如下所示。
query_insertion = "INSERT INTO main.customer(CustomerName, City, Country) SELECT SupplierName, City, Country FROM staging.customer;"
val st = conn.createStatement()
st.executeUpdate(query_insertion)
如果临时表或主表被锁定,spark作业将继续等待而不停止。我想有一个解决方案,它将生成一个警报,然后停止,如果它等待一段时间。欢迎评论!
暂无答案!
目前还没有任何答案,快来回答吧!