火花应用程序指标(CPU,RAM)

时间:2019-05-25 21:50:41

标签: apache-spark apache-spark-sql

我正在进行一项实验,该实验评估在不同数据集HDFS文件格式(例如AVRO,CSV,ORC和Parquet)以及不同数据集架构上运行不同Spark-SQl查询的性能。

我可以使用以下命令获取每个SQL查询的运行时间:

Spark.time()函数,我的问题是如何计算CPU和运行每个Spark SQl查询的内存消耗。

我已将所有SQL查询放在一个单独的文件中,并将它们调用到Spark.time()函数中,但是我不知道如何使它作为独立的Spark计算每个查询的CPU和RAM指标工作?

以下是针对一个模式“属性表”的示例SQL查询

val q1=
    """
      |SELECT
      |J.issued AS yr
      |FROM
      |Journal J
      |WHERE
      |J.title='Journal 1 (1940)'
    """.stripMargin


  val q2=
    """
      |SELECT
      |    D.subject         AS inproc,
      |    D.creator         AS author,
      |    D.booktitle         AS booktitle,
      |    D.title             AS title,
      |    D.partOf          AS proc,
      |    D.seeAlso         AS ee,
      |    D.pages             AS pages,
      |    D.homepage          AS url,
      |    D.issued            AS yr,
      |    D.abstract          AS abstract
      |
      |FROM inProceedingArticle D
      |ORDER BY yr
    """.stripMargin

在这里,我称它们为评估进入Spark的时间:

 spark.time(spark.sql(propertyTblsQueries.q1).show)

 spark.time(spark.sql(propertyTblsQueries.q2).show())

我在Spark的指标监控方面不是那么专业,所以在这种情况下,您对我有何建议?

  • 使用Spark历史记录服务器[在那里查看哪些指标]。
  • 或使用其他监视工具。

使用Spark监视工具的任何优秀教程,因为我找不到能很好地描述如何使用Ganglia的优秀教程?!

抱歉,如果ti是!

0 个答案:

没有答案