【问题标题】:Is MySQL more efficient in query optimization and general efficiency than Apache sparkMySQL 在查询优化和一般效率方面是否比 Apache spark 更高效
【发布时间】:2016-06-19 12:52:11
【问题描述】:

我发现对于 Spark 数据帧上的相同查询和相同表查询,Apache spark 比 MySQL 服务器慢得多。

那么 spark 在哪里比 MySQL 更高效?

注意:在一个有 100 万行、所有 10 列文本类型的表上进行了尝试。

json中表的大小约为10GB

使用具有 Xeon 16 核和 64gb RAM 且位于同一服务器 MySql 上的独立 pyspark 笔记本

一般来说,我想了解有关何时使用 SPARK 与 SQL 服务器在目标数据大小方面的指南,以便从分析查询中获得真正快速的结果。

【问题讨论】:

  • 您是否尝试过使用 MySQL 表中的 TB 数据?
  • 您提到了 RDD,但我希望您知道,除非您使用 DataSet 或 DataFrame,否则不会进行任何实质性优化。
  • 这里有太多的变量可以发挥作用。
  • 可能需要查看两者的基础架构规范。你如何编写你的 spark 程序,数据源是什么(它是如何存储的)等等。同样,有很多事情可能会导致这种情况。
  • @Nick Burns 更新问题

标签: apache-spark apache-spark-sql


【解决方案1】:

好的,尽管在不了解更多信息的情况下仍然很难回答这个问题,但我还是会在这里尝试并提供帮助。假设没有资源争用,这里会发生很多事情。如果您在纱线上运行并且您的 json 存储在 hdfs 中。它可能被分成许多块,然后在不同的分区中处理这些块。由于 json 不能很好地分割,你会失去很多并行能力。此外,spark 并不意味着真正具有像调整 rdbms 这样的超低延迟查询。您从 Spark 中受益的地方在于繁重的数据处理、大量数据(TB 或 PB)。如果您正在寻找低延迟查询,您应该使用 Impala 或 Hive 和 Tez。您还应该考虑将文件格式更改为 avro、parquet 或 ORC。

【讨论】:

  • 其实我用的是paraquet
猜你喜欢
  • 2012-06-30
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-16
  • 2018-02-03
  • 1970-01-01
相关资源
最近更新 更多