【问题标题】:Spark SQL Performance optimisationSpark SQL 性能优化
【发布时间】:2018-10-15 13:11:26
【问题描述】:

我正在运行一个包含大量数据(大约 5000 万条记录)的 Spark SQL 查询。由于记录繁重,集群中的查询变得更慢,因此处理整个数据需要很长时间(20 分钟) .我在查询中使用内连接,左连接。如何提高性能。

【问题讨论】:

    标签: apache-spark-sql


    【解决方案1】:
    1. 由于您正在执行连接操作并且数据量很大,因此可能会涉及到大量的改组和 I/O 操作。因此,如果您不使用 kryo 序列化,您的代码将使用默认的 Java 序列化。使用 Kryo 序列化,它可以提供更好的性能。

    2. 这取决于您在 Hdfs 中存储数据的方式。如果它是文件格式。尝试在其上创建 Hive 表。 Hive 提供了许多优化技术。 一个。 Partitiong and Bucketing :分区加速查询,因为您不必在读取数据时扫描整个表。分桶加速连接操作。

    b.可以使用 Map Side join:这里将较小的表发送到内存中,在 mapper 本身执行连接操作,从而加快查询速度。

    Apache Spark 提供了使用 Hive 上下文来利用 Hive 的选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多