рассчитать медиану, среднее значение с использованием кадра данных hadoop spark1.6, не удалось запустить базу данных «metastore_db»

spark-shell --packages com.databricks:spark-csv_2.11:1.2.0 1. использование SQLContext ~~~~~~~~~~~~~~~~~~~~~~ 1. импорт org.apache. spark.sql.SQLContext 2. val sqlctx = новый SQLContext(sc) 3. импортировать sqlctx._

  1. val df = sqlctx.read.format("com.databricks.spark.csv").option("inferScheme","true").option("разделитель",";").option("заголовок","true ").load("/пользователь/cloudera/data.csv")

  2. df.select(avg($"col1")).show() // это работает нормально

  3. sqlctx.sql("выбрать процентиль_приблизительно(баланс,0,5) как медиану из таблицы port_bank_table").show() или sqlctx.sql("выбрать процентиль(баланс,0,5) как медиану из таблицы port_bank_table").show() // оба не работает, получая следующую ошибку

    org.apache.spark.sql.AnalysisException: неопределенная функция процентиль_приблизительно; строка 0 позиция 0 в org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry$$anonfun$2.apply(FunctionRegistry.scala:65) в org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry$$anonfun$2. применить (FunctionRegistry.scala: 65)

  4. с помощью HiveContext ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~, так что пробовал использовать контекст куста scala> import org.apache.spark .sql.hive.HiveContext импортировать org.apache.spark.sql.hive.HiveContext

scala> val hivectx = new HiveContext(sc) 18/01/09 22:51:06 WARN metastore.ObjectStore: не удалось получить базу данных по умолчанию, возвращается NoSuchObjectException hivectx: org.apache.spark.sql.hive.HiveContext = org.apache .spark.sql.hive.HiveContext@5be91161

scala> импортировать hivectx._ импортировать hivectx._

getting the below error 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@be453c4, 
see the next exception for details.

person Chandan Kumar Behera    schedule 10.01.2018    source источник


Ответы (1)


Я не могу найти функцию percentile_app,percentile в функциях агрегации Spark. Не похоже, что эта функция встроена в кадры данных Spark. Для получения дополнительной информации следуйте этому Как рассчитать процентиль столбца в DataFrame в spark? Надеюсь, это вам поможет.

person Mohit.kc    schedule 10.01.2018