#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 Все еще сталкивается с той же проблемой?