【公共云支持】MaxCompute Spark支持交互式Zeppelin

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【公共云支持】MaxCompute Spark支持交互式Zeppelin
+关注继续查看

由于安全原因,用户无法触达生产集群的网络,所以MaxCompute Spark一直没有放开 yarn-client的支持,也就是Spark-ShellSpark-SQL以及PYSPARK等交互式功能一直无法支持。最近调研了Zeppelin框架,配合MaxCompute Spark的相关特性以及组件,开发支持了Zeppelin on MaxCompute Spark来支持相对应的交互式探索需求。

步骤说明

  • 因为配置以及启动比较繁琐,用户未必会对这方面的事情感兴趣,所以我封装了一个一键启动的脚本,见 spark-zeppelin-public.sh
  • 下载脚本到本地后,运行 sh spark-zeppelin-public.sh 后,会自动下载相关组件如下

    • spark-zeppelin-public.conf
    • spark-zeppelin-public.jar
    • spark-2.3.0-odps0.32.0.tar.gz
  • 第一次运行脚本会出现以下错误,这是因为默认的spark-zeppelin-public.conf并没有配置accessId,accessKey,projectName
linxuewei:spark-zeppelin-public linxuewei$ sh spark-zeppelin-public.sh 
working dir: /Users/linxuewei/Desktop/spark-zeppelin-public
download spark-zeppelin-public.conf
download spark-zeppelin-public.jar
download spark-2.3.0-odps0.32.0.tar.gz
extract spark-2.3.0-odps0.32.0.tar.gz
export SPARK_HOME
spark-zeppelin-public.conf checking
TBD count is        3, plz check config make sure id key project is written!
config check failed, plz set id key project in spark-zeppelin-public.conf
  • 正常配置 spark-zeppelin-public.conf 之后再运行 sh spark-zeppelin-public.sh
linxuewei:spark-zeppelin-public linxuewei$ sh spark-zeppelin-public.sh 
working dir: /Users/linxuewei/Desktop/spark-zeppelin-public
export SPARK_HOME
spark-zeppelin-public.conf checking
config check passed, start spark-submit

就会启动一个MaxCompute Spark作业,等待作业执行结束之后,可以回溯日志,找到logview

http://logview.odps.aliyun.com/logview/?h=http://service.cn.maxcompute.aliyun.com/api&p=zky_test&i=20190710044052214gy6kc292&token=eXN6eFlsNmQzOFV4dUIzVEVndm9KQUtVSlVNPSxPRFBTX09CTzpwNF8yNDcwNjM5MjQ1NDg0NDc5NzksMTU2Mjk5Mjg1Mix7IlN0YXRlbWVudCI6W3siQWN0aW9uIjpbIm9kcHM6UmVhZCJdLCJFZmZlY3QiOiJBbGxvdyIsIlJlc291cmNlIjpbImFjczpvZHBzOio6cHJvamVjdHMvemt5X3Rlc3QvaW5zdGFuY2VzLzIwMTkwNzEwMDQ0MDUyMjE0Z3k2a2MyOTIiXX1dLCJWZXJzaW9uIjoiMSJ9
  • 打开 logview 点击 master-0 点击 StdOut

image.png

# 日志中的这个url,就是zeppelin server的地址了
# 直接复制粘贴到浏览器上即可访问,弹出的url会需要云账号的登录
Please visit the following url for zeppelin interaction.
http://20190710044052214gy6kc292-zeppelin.open.maxcompute.aliyun.com
Log dir doesn't exist, create /worker/zeppelin_logs/
Pid dir doesn't exist, create /worker/zeppelin_pids/
Zeppelin start [60G[[0;32m  OK  [0;39m]
  • 打开 zeppelin url 打开 Examples Notebook,有时候页面会显示endpoint not exist的日志,这是因为zeppelin还没有启动完毕的情况,稍等片刻就可以

image.png

  • 如果页面弹出一个 interpreter binding的页面,直接点击Save即可,然后再点击ToolBar上的运行所有按钮即可执行Notebook上的代码的执行

image.png

  • 从 examples 样例中我们可以看到,NoteBook支持三种语法

    • %spark 开头表示 scala 执行器 如果不写就默认是这个模式
    • %sql 开头表示 spark-sql 执行器,默认用ODPS External Catalog
    • pyspark 开头表示 pyspark 执行器,默认用我们打包好的 python2.7

问题咨询

有问题就找峰七(林学维)即可。有了这个Zeppelin,有时候我们有一些语法或者spark接口上面不清楚的就可以现在notebook上执行,然后再写进工程代码里,不用一遍一遍的提交那么没有效率了。

这个模式相对于local模式更有力的地方是,这个模式其实是真实用了yarn-cluster模式运行着的,local模式仅仅能验证语法是否正确,而zeppelin模式能以分布式的方式提供交互式查询,这个对于那种需要关注性能结果的debugging是有帮助的。

资源释放

本质上Zeppelin Server on MaxCompute Spark还是一个Spark作业,默认这个作业会存活三天,如果你想手动关闭这个作业的话,就请用odpscmd,用kill <instanceId>; 命令来停止作业释放资源吧。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
2月前
|
分布式计算 Hadoop 大数据
大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)
大数据Hadoop之——Apache Hudi 数据湖实战操作(Spark,Flink与Hudi整合)
120 2
|
2月前
|
分布式计算 资源调度 Kubernetes
大数据问题排查系列 - SPARK STANDALONE HA 模式的一个缺陷点与应对方案
大数据问题排查系列 - SPARK STANDALONE HA 模式的一个缺陷点与应对方案
|
3月前
|
分布式计算 大数据 Spark
基于Docker搭建大数据集群(四)Spark部署
基于Docker搭建大数据集群(四)Spark部署
|
3月前
|
分布式计算 大数据 Spark
大数据Spark DataFrame/DataSet常用操作2
大数据Spark DataFrame/DataSet常用操作2
118 0
|
3月前
|
JSON 分布式计算 大数据
大数据Spark DataFrame/DataSet常用操作1
大数据Spark DataFrame/DataSet常用操作1
98 0
|
3月前
|
canal 分布式计算 关系型数据库
大数据Spark Streaming实时处理Canal同步binlog数据
大数据Spark Streaming实时处理Canal同步binlog数据
83 0
|
3月前
|
分布式计算 算法 大数据
大数据Spark MLlib推荐算法
大数据Spark MLlib推荐算法
89 0
|
3月前
|
SQL 分布式计算 大数据
大数据Spark框架概述
大数据Spark框架概述
106 0
|
3月前
|
分布式计算 大数据 Spark
大数据Spark DataFrame/DataSet常用操作4
大数据Spark DataFrame/DataSet常用操作4
22 0
|
3月前
|
分布式计算 大数据 Spark
大数据Spark DataFrame/DataSet常用操作3
大数据Spark DataFrame/DataSet常用操作3
35 0
推荐文章
更多