В недавно установленном спарк-ноутбуке отсутствует виджет SQL
Я только что установил spark-notebook на некоторые старые ПК, на которых работает тестовый кластер Spark. Я создал блокнот из следующего шаблона:
{
"Simple" : {
"profile" : "standalone",
"name" : "Simple Test Spark Cluster",
"status" : "stopped",
"template" : {
"customLocalRepo" : null,
"customRepos" : null,
"customDeps" : null,
"customImports" : null,
"customSparkConf" : {
"spark.app.name" : "Notebook",
"spark.master" : "spark://mymaster:7077",
"spark.eventLog.enabled" : "true",
"spark.eventLog.dir" : "hdfs://mymaster:8020/var/log/spark",
"spark.shuffle.service.enabled" : "true",
"spark.dynamicAllocation.enabled" : "true"
}
}
}
}
Сначала я создал несколько фиктивных данных, которые сработали:
val someValues = sc.parallelize(1L to 10000L)
case class Foo(key: Long, value: Long)
val someDummyGrouping = someValues.map(v => (v / 100) -> v).reduceByKey((a, b) => a + b).map(t => Foo(t._1, t._2))
Теперь я хотел зарегистрировать временную таблицу, так как документация на странице github на spark-notebook гласила:
import org.apache.spark.sql.SQLContext
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._
someDummyGrouping.toDF.registerTempTable("foo")
Выход:
import org.apache.spark.sql.SQLContext
sqlContext: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@5c42083d
import sqlContext.implicits._
Однако, когда я пытаюсь запросить таблицу, я не получаю удовлетворительного вывода:
:sql select * from foo
Выход:
import notebook.front.widgets.Sql
import notebook.front.widgets.Sql._
res13: notebook.front.widgets.Sql = <Sql widget>
[key: bigint, value: bigint]
Когда я запускаю его на спарк-ноутбуке, который я устанавливаю на AWS, он выходит из коробки.
Я забыл настроить некоторые вещи, и если да, то что мне не хватает?