在dsx中,有没有一种方法可以在带有Spark 2.0笔记本的scala 2.11中使用"display"(我知道这可以在带有pixedust的python笔记本中完成)。例如:
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笔记本上做同样的事情。目前,我只是在下面做一个显示命令,只提供表格格式的数据,没有图形等。
spark.sql("SELECT COUNT(zip), SUM(pop), city FROM hive_zips_table
WHERE state = 'CA' GROUP BY city ORDER BY SUM(pop) DESC").show()
注意:
- Pixiedust目前可与Spark 1.6和Python 2.7配合使用
- Pixiedust目前支持Spark DataFrames、Spark GraphFrames和Pandas
参考:-https://github.com/ibm-cds-labs/pixiedust/wiki
但如果你能使用Spark 1.6,这里有一个快速的方法来使用这种奇特的显示功能:-
你可以走另一条路,因为Pixisost让你在一个带有%%scala线魔法的python笔记本中使用scala和python。
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步:在单独的单元格中运行以下命令访问python shell中的df变量。
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
谢谢,查尔斯。
您可以在齐柏林中获得类似的结果
z.show(dataframe)