您的位置:首页 > 大数据

如何使用zeppelin实现大数据可视化

2016-05-25 15:28 561 查看
Zeppelin是基于spark的数据可视化方案。支持scala语言,任何在spark上运行的job都可以在此平台上运行,此外支持对表数据的可视化。对数据源的可视化可以通过interpreter进行扩展,比如github中就有支持mysql的interpreter。

下面着重介绍zeppelin notebook中代码书写:

scala:使用此interpreter的好处是,可以将各个数据源的数据在同一张视图中进行展示。比如以下是对mysql,hive数据的混合展示:

Load mysql表,并注册为spark sqlContext同样的表名:

import java.util.Properties

val properties = new Properties()

val url = "..."

properties.put("user", "...")

properties.put("password", "...")

properties.put("driver", "com.mysql.jdbc.Driver")

val tables = "...,..."

tables.split(",").foreach{mysql_table =>

sqlContext.read.jdbc(url, mysql_table, properties).registerTempTable(mysql_table)

}

Hive数据可以直接进行load:

sql(s"""

SELECT

...

FROM table where ...""").registerTempTable("hive_table")

对mysql,hive表进行混合查询,支持下拉框:

sql(""select ... from """

+

z.select("数据源", Seq(("""mysql_table1""","mysql table1数据"),

("""mysql_table2""","mysql table2数据"),

("""hive_table""","hive数据")))

+ """ where ...""").registerTempTable("result")

效果:



scala中可以使用以下方式对dataframe数据进行展示:

val result = sql("select * from result").rdd.map { r => r.mkString("\t") }.collect().mkString("\n")

println("%table dt\tvalue\n" + result)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息