Как использовать функцию "отображения" в Scala 2.11 с ноутбуком Spark 2.0 в DSX
В dsx есть способ использовать "дисплей" в Scala 2.11 с ноутбуком Spark 2.0 (я знаю, что это можно сделать в ноутбуке Python с Pixiedust). Например:
display(spark.sql("SELECT COUNT(zip), SUM(pop), city FROM hive_zips_table
WHERE state = 'CA' GROUP BY city ORDER BY SUM(pop) DESC"))
Но я хочу сделать то же самое в Scala Notebook. В настоящее время я просто делаю команду show ниже, которая просто дает данные в табличном формате без графики и т. Д.
spark.sql("SELECT COUNT(zip), SUM(pop), city FROM hive_zips_table
WHERE state = 'CA' GROUP BY city ORDER BY SUM(pop) DESC").show()
2 ответа
Замечания:
- Pixiedust в настоящее время работает с Spark 1.6 и Python 2.7.
- Pixiedust в настоящее время поддерживает Spark DataFrames, Spark GraphFrames и Pandas
Ссылка: - https://github.com/ibm-cds-labs/pixiedust/wiki
Но если вы можете использовать Spark 1.6, вот быстрый способ использовать эту причудливую функцию отображения: -
Вы можете пойти другим путем, так как Pixidust позволяет использовать scala и python в одной записной книжке python с волшебной строкой %%scala.
https://github.com/ibm-cds-labs/pixiedust/wiki/Using-Scala-language-within-a-Python-Notebook
Шаг 1. Создайте блокнот с python 2 и spark 1.6. Установите pixidust и импортируйте его.
!pip install --user --no-deps --upgrade pixiedust
import pixiedust
Определите ваши переменные или ваш фрейм данных в Scala под
%%scala
import org.apache.spark.sql._
print(sc.version)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val __df = sqlContext.read.json("people.json")
__df.show()
или же
делай все, чтобы создать свой фрейм данных
val __df = dataframe1.sql("SELECT COUNT(zip), SUM(pop), city FROM hive_zips_table
WHERE state = 'CA' GROUP BY city ORDER BY SUM(pop) DESC").show()
Шаг 2: Запустите следующую ячейку, чтобы получить доступ к переменной df в вашей оболочке python.
display(__df)
Ссылка на мой образец ноутбука: -
- Записная книжка IBM: https://apsportal.ibm.com/analytics/notebooks/095520cb-c9ff-4f4a-a829-f458f20b4505/view?access_token=d4de7944ad7d6bfc179632a3036a7971c130e54d1a30ecf5df34ece8c4f8c3b5
- Github: https://github.com/charles2588/bluemixsparknotebooks/blob/master/pixiedust/PixiedustTestCase.ipynb
Спасибо, Чарльз.
Вы можете получить аналогичный результат в Zeppelin
z.show(dataframe)