|
本帖最后由 feel 于 2016-6-10 18:24 编辑
Zeppelin是一个Apache的孵化项目.
一个基于web的笔记本,支持交互式数据分析。你可以用SQL、Scala等做出数据驱动的、交互、协作的文档。(类似于ipython notebook,可以直接在浏览器中写代码、笔记并共享)
可实现你所需要的:
- 数据采集
- 数据发现
- 数据分析
- 数据可视化和协作
数据可视化
一些基本的图表已经包含在Zeppelin中。可视化并不只限于SparkSQL查询,后端的任何语言的输出都可以被识别并可视化。
我们可以写spark sql 进 实时交互查询及可视化
下面是代码示例
- import org.apache.commons.io.IOUtils
- import java.net.URL
- import java.nio.charset.Charset
- // Zeppelin creates and injects sc (SparkContext) and sqlContext (HiveContext or SqlContext)
- // So you don't need create them manually
- // load bank data
- val bankText = sc.parallelize(
- IOUtils.toString(
- new URL("https://s3.amazonaws.com/apache-zeppelin/tutorial/bank/bank.csv"),
- Charset.forName("utf8")).split("\n"))
- case class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer)
- val bank = bankText.map(s => s.split(";")).filter(s => s(0) != "\"age\"").map(
- s => Bank(s(0).toInt,
- s(1).replaceAll("\"", ""),
- s(2).replaceAll("\"", ""),
- s(3).replaceAll("\"", ""),
- s(5).replaceAll("\"", "").toInt
- )
- ).toDF()
- bank.registerTempTable("bank")
复制代码
|
|