博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark-zeppelin大数据可视化导入Mysql
阅读量:6870 次
发布时间:2019-06-26

本文共 1110 字,大约阅读时间需要 3 分钟。

Zeppelin是基于spark的数据可视化方案。支持scala语言,任何在spark上运行的job都可以在此平台上运行,此外支持对表数据的可视化。对数据源的可视化可以通过interpreter进行扩展,比如github中就有支持的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)

你可能感兴趣的文章
时序列数据库选型
查看>>
lamp安装
查看>>
QDEZ集训笔记【更新中】
查看>>
手工配置rsyslog配置文件详解
查看>>
composer安装
查看>>
Linux下快速迁移海量文件的操作记录
查看>>
windows环境redis主从安装部署
查看>>
mongodb指南
查看>>
su: user tomcat does not exist
查看>>
java 签名类 Signature
查看>>
非常详细的/etc/passwd解释
查看>>
解决Xcode在debug时不在断点处停止的方法<转>
查看>>
令人眼前一亮的动态规划入门教程
查看>>
[Memcached] telnet命令
查看>>
CodeChef Little Elephant and Movies [DP 排列]
查看>>
【Java集合的详细研究3】Arrays类常用方法
查看>>
Linux下随机生成密码的命令总结
查看>>
Linux 网络子系统之网络协议接口层(一)
查看>>
Nginx配置小结
查看>>
学习一点Markdown的基本知识
查看>>