Spark-数据分析可视化Zeppelin
官网介绍
Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括Spark, hive, tajo等,原生支持scala, Java, shell, markdown等。它的整体展现和使用形式和Databricks Cloud是一样的。
安装
其他组件都是好安装的,直接mvn install是没问题的。 而且zeppelin-web项目,里面使用了node, grunt, bower这些前端的工具。可以自己源码编译也可以使用二进制包直接使用。目前官网最新的版本是0.5.6版本,支持spark1.5和hadoop2.x版本。
自己编译:
- 安装好node, grunt, bower
brew install npm npm install -g node
- 修改pom
<plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>0.0.23</version> <executions> <execution> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> </goals> <configuration> <nodeVersion>v0.10.18</nodeVersion> <npmVersion>1.3.8</npmVersion> </configuration> </execution> <execution> <id>npm install</id> <goals> <goal>npm</goal> </goals> </execution> <execution> <id>bower install</id> <goals> <goal>bower</goal> </goals> <configuration> <arguments>--allow-root install</arguments> </configuration> </execution> <execution> <id>grunt build</id> <goals> <goal>grunt</goal> </goals> <configuration> <arguments>--no-color --force</arguments> </configuration> </execution> </executions> </plugin>
- 进入zeppelin-web目录下,执行 npm install。它会根据package.json的描述安装一些grunt的组件,安装bower,然后再目录下生产一个node_modules目录。
- bower –alow-root install,会根据bower.json安装前端库依赖
- grunt –force,会根据Gruntfile.js整理web文件
- mvn install -DskipTests,把web项目打包,在target目录下会生成war
需要在pom.xml里添加:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webXml>app\WEB-INF\web.xml</webXml> </configuration> </plugin>
到此处就已经编译完成了。
测试
配置
在zeppelin parent目录下,修改conf文件夹里的zeppelin-env.sh和zeppelin-site.xml,可以是默认配置,但要把两个文件原本的无效后缀去掉。zeppelin parent目录下执行
bin/zeppelin-daemon.sh start
漂亮主页
zeppelin parent目录下会看到一个notebook文件夹,按notebook的名字命名区分了多个子目录。目录下是一个note.json文件,记录了每个notebook里输入的代码和执行结果,启动的时候会加载起来。编码
使用的是scala,notebook,可以直接写scala代码
标识%md, %sh, %sql, %spark, %hive, %tajo来区分要执行的是什么
和spark整合
进入tutorial notebook,它里面已经写好了例子:
import sys.process._ // sc is an existing SparkContext. val sqlContext = new org.apache.spark.sql.SQLContext(sc) val zeppelinHome = ("pwd" !!).replace("\n", "") val bankText = sc.textFile(s"$zeppelinHome/data/bank-full.csv") 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 ) ).toSchemaRDD bank.registerTempTable("bank")
总结
apache zeppelin分布式计算、数据分析从业者,代码量少,模块很清楚,可以尝试接入不同计算引擎,试试任务运行、可视化效果。没有过多复杂的操作,只是区分了多个notebook,每个notebook里做单独的分析处理工作,流程和结果会被保存下来。此外,为spark做了更好的支持,比如默认是scala环境,默认sc已经创建好,即spark local可跑,默认spark sql有可视化效果。
Publish
Zeppelin provides an URL to display the result only, that page does not include Zeppelin’s menu and buttons. This way, you can easily embed it as an iframe inside of your website.
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Hadoop - Kylin On OLAP
1.概述 Apache Kylin是一个开源的分布式分析引擎,提供SQL接口并且用于OLAP业务于Hadoop的大数据集上,该项目由eBay贡献于Apache。 2.What is Kylin 在使用一种模型,我们得知道她是干什么的,那么首先来看看Kylin的特性,其内容如下所示: 可扩展超快的OLAP引擎:Kylin是为减少在Hadoop上百亿级别数据查询延迟而设计的。 Hadoop ANSI SQL接口:Kylin为Hadoop提供标准的SQL,其支持大部分查询功能。 出色的交互式查询能力:通过Kylin,使用者可以于Hadoop数据进行亚秒级交互,在同样的数据集上提供比Hive更好的性能。 多维度Cube:用户能够在Kylin里为百亿以上的数据集定义数据模型并构建Cube。 和BI工具无缝整合:Kylin提供与BI工具,如商业化的Tableau。另外,根据官方提供的信息也在后续逐步提供对其他工具的支持。 其他特性: 对Job的管理和监控 压缩和编码的支持 增量更新Cube 利用HBase Coprocessor去查询 基于HyperLogLog的Distinct Count近似算...
- 下一篇
Call to master/192.168.137.101:9001 failed on connection exception: ja...
java.net.ConnectException: Call to master/192.168.137.101:9001 failed on connection exception: java.net.ConnectException: Connection refused at org.apache.hadoop.ipc.Client.wrapException(Client.java:1099) at org.apache.hadoop.ipc.Client.call(Client.java:1075) at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225) at org.apache.hadoop.mapred.$Proxy10.getProtocolVersion(Unknown Source) at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396) at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379) at org...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题