温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github: https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
CDH集群中可以使用Hue访问Hive、Impala、HBase、Solr等,在Hue3.8版本后也提供了Notebook组件(支持R、Scala及python语言),但在CDH中Hue默认是没有启用Spark的Notebook,使用Notebook运行Spark代码则依赖Livy服务。在前面Fayson也介绍了《Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs》、《如何编译Livy并在非Kerberos环境的CDH集群中安装》、《如何通过Livy的RESTful API接口向非Kerberos环境的CDH集群提交作业》、《如何在Kerberos环境的CDH集群部署Livy》、《如何通过Livy的RESTful API接口向Kerberos环境的CDH集群提交作业》、《如何打包Livy和Zeppelin的Parcel包》和《如何在CM中使用Parcel包部署Livy及验证》,本篇文章Fayson主要介绍如何在Hue中添加Notebook组件并集成Spark。
- 测试版本
1.CM和CDH版本为5.14.2
- 前置条件
1.Hue服务已安装且正常运行
2.Livy服务已安装且正常运行
2.Hue添加Notebook
1.使用管理员登录CM控制台,进入Hue服务界面
2.点击“配置”,在搜索栏输入“hue_safety_valve.ini”
3.在hue_safety_value.ini中添加如下配置启用Notebook功能
代码语言:javascript复制[desktop]
app_blacklist=
[spark]
livy_server_host=cdh02.fayson.com
livy_server_port=8998
livy_server_session_kind=yarn
[notebook]
show_notebooks=true
enable_external_statements=true
enable_batch_execute=true
(可左右滑动)
保存配置并重启Hue服务。
3.Hue中使用验证
1.使用hiveadmin用户登录Hue
2.点击“Query”->“Editor”->“Notebook”菜单,打开一个新的Notebook
3.新打开的Notebook页面如下
该Notebook支持的所有类型
4.创建一个PySpark交互式会话并运行示例代码
代码语言:javascript复制from __future__ import print_function
import sys
from random import random
from operator import add
partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
n = 100000 * partitions
def f(_):
x = random() * 2 - 1
y = random() * 2 - 1
return 1 if x ** 2 y ** 2 < 1 else 0
count = spark.sparkContext.parallelize(range(1, n 1), partitions).map(f).reduce(add)
print("Pi is roughly %f" % (4.0 * count / n))
(可左右滑动)
查看当前Notebook启动的Session
5.通过菜单切换运行环境,可以是R、PySpark、Scala、Impala、Hive等
6.运行Spark Notebook成功可以看到Livy中已成功创建了Spark Session会话
Yarn界面
4.总结
1.CDH版本中的Hue默认是没有启用Notebook组件,需要在hue_safety_value.ini文件中添加配置。
2.创建Spark Notebook则需要依赖Livy服务,需要在集群中部署Livy服务并在Hue中配置Livy环境。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。