【问题标题】:How to run multiple inserts on multiple tables parallelly using Pyspark如何使用 Pyspark 在多个表上并行运行多个插入
【发布时间】:2021-11-15 20:42:27
【问题描述】:

我已经使用 pyspark 编程使用 sql 查询将数据从暂存中插入到主表中。但是,问题是我插入了多个表。因此,为了实现并行性,必须执行什么而不是使用线程。

spark.sql("INSERT INTO Cls.tbl1 (Contract, Name)
SELECT s.Contract, s.Name 
FROM tbl1 AS s LEFT JOIN Cls.tbl1 AS c 
ON s.Contract = c.Contract AND s.Adj = c.Adj
WHERE c.Contract IS NULL")


spark.sql("INSERT INTO Cls.tbl2 (Contract, Name)
SELECT s.Contract, s.Name 
FROM tbl2 AS s LEFT JOIN Cls.tbl2 AS c 
ON s.Contract = c.Contract AND s.Adj = c.Adj
WHERE c.Contract IS NULL")

我们必须像上面一样执行多个插入语句,并且我们希望在通过 spark 运行时实现并行性。

【问题讨论】:

    标签: python hadoop pyspark hive parallel-processing


    【解决方案1】:

    简而言之,您不能并行运行它们。但是你可以运行两个不同的工作,每个插入一个表,你可以用这种方法实现并行

    【讨论】:

    • 但是,我没有在同一个表上插入的选项,每个表上的每个插入。
    • 啊,对了,你也使用那张桌子加入了......我更新了我的答案,但简短的回答仍然是“不,你不能”
    猜你喜欢
    • 2017-04-02
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多