Измерение производительности Spark Sql - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь сравнить производительность между SparkSql на Parquet и Phoenix на HBase.Запрашиваемый мной запрос содержит объединения и агрегаты. Я пытаюсь проверить производительность Spark Sql на паркете, выполнив следующие действия:

spark.time(sql("some sql").show)

Мои вопросы:

  1. Это правильный и самый простой способ проверить время, необходимое для выполнения Spark Sql
  2. Я непосредственно выполняю запросы phoenix в Spark Sql.Можно ли как-нибудь оптимизировать его?

1 Ответ

0 голосов
/ 20 сентября 2018

давайте предположим, что вы запускаете приведенный ниже SQL как SPARK SQL, а sQL требуется несколько минут для выполнения на огромном объеме данных.

"SELECT * FROM TABLE_NAME WHERE <>;"

Теперь одним из способов может быть инициализация фрейма данных с помощью этого SQL и создание его представления.

val dbDf6 = spark.sql("select * from table_name where <filter> = 'Y'");
//When the above statement is executed then DAG will be created but execution will 
not happen.
//Note time before triggering execution (pro grammatically or otherwise)
dbDf6.count();
//Note time after triggering execution (pro grammatically or otherwise)
...