Вычисление статистики с использованием инструкции Analyse в spark

#scala #apache-spark #apache-spark-sql

#scala #apache-spark #apache-spark-sql

Вопрос:

Я пытаюсь вычислить статистику для таблицы Hive, используя контекст Spark SQL.

Версия Spark: 1.6.3

 sqlContext.sql("ANALYZE TABLE sample PARTITION (company='aaa', market='aab',pdate='2019-01-10') COMPUTE STATISTICS FOR COLUMNS")
  

Я получаю приведенную ниже ошибку, но я могу выполнить тот же запрос в Hive.

Ошибка:

 org.apache.spark.sql.execution.QueryExecutionException: FAILED: Execution Error, return code -101 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Could not initialize class com.sun.jersey.core.header.MediaTypes
  

Когда я пытаюсь выполнить, как показано ниже, я сталкиваюсь с ошибкой как «Раздел не найден»

 sqlContext.sql("ANALYZE TABLE sample PARTITION (company='aaa', market='aab',pdate='2019-01-10') COMPUTE STATISTICS")
  

Ошибка:

 org.apache.spark.sql.execution.QueryExecutionException: FAILED: SemanticException [Error 10006]: Line 1:56 Partition not found ''2019-01-10''
  

Пожалуйста, дайте мне знать, как исправить то же самое.

Спасибо.!

Ответ №1:

Можете ли вы попробовать с приведенными ниже запросами

 sqlContext.sql("ANALYZE TABLE sample COMPUTE STATISTICS FOR COLUMNS col1 [, col2, ...]")

sqlContext.sql("ANALYZE TABLE sample COMPUTE STATISTICS [NOSCAN]")
  

Пожалуйста, проверьте https://docs.databricks.com/spark/latest/spark-sql/language-manual/analyze-table.html для получения дополнительной информации.

Комментарии:

1. @v.rajan Все еще сталкивается с той же проблемой?