Как использовать функцию "отображения" в 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)

Ссылка на мой образец ноутбука: -

Спасибо, Чарльз.

Вы можете получить аналогичный результат в Zeppelin

z.show(dataframe)
Другие вопросы по тегам