【问题标题】:PySpark filter a dataframe and write data frame to mysql databasePySpark 过滤数据框并将数据框写入 mysql 数据库
【发布时间】:2021-12-03 20:15:55
【问题描述】:

我正在尝试将数据帧写入 MySql DB 并使用 Apache Spark 2.3.1。它有 20K 到 30K 行从 mySql 读取,并用 20 个分区进行分区。我先过滤数据框,然后尝试将过滤后的结果集写入mysql DB。

但是写操作变得太慢了。不过滤 df 写入操作按预期的速度和性能执行。有人可以帮忙吗?

我的代码:

dataFrame = spark.read.format('jdbc').option(...).load()
//performing some operations and adding new column "total" in data frame

filteredDF = dataFrame.filter(dataFrame.total >= 5000)
//no_of_partitions is 20

filteredDF.write.format('jdbc').options().save()

谢谢!

【问题讨论】:

    标签: dataframe apache-spark pyspark apache-spark-sql export


    【解决方案1】:

    您可以在过滤操作之前缓存您的 Dataframe 吗?并检查您的代码是否按预期时间运行。

    【讨论】:

    • 我确实尝试过,但似乎与并行性有关。目前该工作正在单核上处理。所以可能是由于这个原因,广播的使用处理不当,然后我重新纠正并解决了问题。
    猜你喜欢
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 2021-11-23
    • 2017-02-17
    • 1970-01-01
    相关资源
    最近更新 更多