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._
val df = sqlctx.read.format("com.databricks.spark.csv").option("inferScheme","true").option("разделитель",";").option("заголовок","true ").load("/пользователь/cloudera/data.csv")
df.select(avg($"col1")).show() // это работает нормально
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)
с помощью 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.