前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EMR上Zeppelin入门

EMR上Zeppelin入门

原创
作者头像
程序猿
发布2018-08-12 22:02:47
1.4K0
发布2018-08-12 22:02:47
举报

什么是Zeppelin?

简而言之,就是一个大数据分析平台。用户可以利用提供好的WEB UI,在线编写分析逻辑代码,输出结果,并且能够利用可视化工具,形象生动的在线展示结果。

基础知识

notebook:是一个自己的工作环境,可以在notebook中执行大数据分析的逻辑,可以配置interpreter,可以设置权限等。基本上所有web上的操作都会在一个notebook中进行

interpreter:是zeppelin的核心概念-解析器,zeppelin通过解析器(interpreter)将用户输入转换为后台服务命令。具体原理请自行查阅资料。

Zeppelin安装

直接通过zeppelin官网。我下载的是包括了所有interpreter的压缩包

下载完成之后,解压然后运行(unix platform):bin/zeppelin-daemon.sh start

这个时候你就能访问8080端口来访问zeppelin服务了

接入spark on yarn集群

接入spark on yarn非常简单,只用在conf/zeppelin-env.sh中加入两个配置即可

  • export MASTER=yarn-client
  • export SPARK_HOME=/usr/local/service/spark

master是zeppelin底层调用spark的参数,熟悉利用命令行通过spark提交任务的朋友应该比较熟悉:$SPARK_HOME/bin/spark-submit --class package.SparkStudy --master yarn-cluster ./wordcount.jar some_params

上面这个命令是shell下利用spark提交任务到yarn上的最简单的方式(只指出了运行模式,jar包以及运行的class,其他参数全部默认,也不包含输入输出),其中master就是我们在zeppelin中设置的master,zeppelin并不支持yarn-cluster,所以我们选择yarn-lient。SPARK_HOME就是本地的SPARK根目录。设置好之后,就可以重启zeppelin了。

下面就可以利用zeppelin在线调用我的spark on yarn集群了

下面利用python脚本生成需要处理的数据:

该脚本随机生成了10亿个0~99的随机数,下面将利用zeppelin分析该数据,完成一个统计工作,看看python随机数是否均衡。数据生成完之后,利用命令将数据保存在hdfs当中(hdfs dfs -put local-data dfs-dir)。

此时我们已经拥有了数据,下面就开始直接在zeppelin上进行分析吧

使用zeppelin:

首先访问8080端口,然后新建一个note

点击创建Note进入到一下页面

下面就可以在输入框中编写逻辑代码了,默认使用spark(创建note的时候有配置过)

下面我直接给出结果的截图:

我总共提交了三块代码,分别是spark和2个sparkSQL的代码

最终第三块的sparkSQL是对这10亿数字分配在0~99里的总误差,可以发现总误差非常非常小,说明python的random.randint还是非常均匀的。

注意:

1. zeppelin架在spark on yarn上,用的是yarn-client模式,所以AM会在本机启动

2. 请确保自己的spark on yarn没有有问题

3. 在生成10亿数据时,应该采用xrange(10亿),而不是range(10亿),一个小细节,懂python的应该知道。

4. zeppelin还支持很多的interpreter,以上流程只介绍了spark和sparksql,大家可以自己研究一下,使用各种解析器完成分析工作。

PS:如果文中有错误的地方,请各位大神指点一下,本人菜鸟很多东西不甚了解,谢谢

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档