【问题标题】:Writing spark dataframe in Azure Databricks在 Azure Databricks 中编写 spark 数据框
【发布时间】:2020-11-09 15:45:46
【问题描述】:

我是 Azure Databricks 的新手。我有两个输入文件和 python AI 模型,我正在清理输入文件并在输入文件上应用 AI 模型以获得最终概率。读取文件、加载模型、清理数据、预处理数据并以概率显示输出只需要我几分钟。

但是,当我尝试将结果写入表格或镶木地板文件时,我需要花费 4-5 多个小时。我尝试了各种 repartition/partitionBy/saveAsTable 方法,但都不够快。

我的输出 spark 数据框由 120000000 行的三列组成。我的共享集群大小是 9 节点集群,每个节点有 56GB 内存。

我的疑问是:- 1.) 具有慢速写入能力的天蓝色数据块中的预期行为。 2.) 我们不能在 azure databricks 中调整 spark 配置是真的吗,azure databricks 会使用可用内存自行调整。

【问题讨论】:

    标签: apache-spark pyspark azure-databricks


    【解决方案1】:

    性能取决于多种因素:为了进一步调查,您能否分享以下详细信息:

    • 数据的大小是多少?

    • worker 类型的大小是多少?

    • 分享你正在运行的代码?

    我建议您阅读以下文章,这有助于提高性能:

    【讨论】:

    • 如果我的回答对你有用,可以accept it as an answer吗?它可能会帮助更多有类似问题的人。
    • @samrat1,我在 SO 上支持了你的问题,你有足够的分数来接受答案。请接受它作为答案。 - 谢谢
    • 我现在已经接受了答案,谢谢
    【解决方案2】:
    1. 我使用过 azure databricks 并将数据写入 azure 存储,速度很快。
    2. 此外,databricks 也像在 Aws 中一样托管在 Azure 上。因此可以设置 spark 的所有配置。

    正如 pradeep 所问,数据大小和分区数是多少?您可以使用 df.rdd.getNumPartitions() 获取它。 你在写之前尝试过重新分区吗?谢谢。

    【讨论】:

    • 您好 Sriram,感谢您提供的信息。现在问题已通过 CHEEKATLAPRADEEP-MSFT 信息解决
    猜你喜欢
    • 2020-03-25
    • 2019-03-08
    • 2020-07-07
    • 2021-10-22
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    相关资源
    最近更新 更多