EMR Notebook提供了全托管的兼容开源Jupyter的Notebook服务,同时内置了SQL Editor的功能。支持SparkSQL、Hive、StarRocks、PySpark等应用程序的开发和运行。本文以Hive查询为例,为您介绍如何使用EMR Notebook。
前提条件
已完成系统角色授权,详情请参见EMR Notebook角色授权。
已创建EMR on ECS形态下的集群,详情请参见创建集群。
支持的集群类型为DataLake、Hadoop和自定义集群。本文以Hive类型为例,所以集群需要选择Hive服务。
注意事项
代码的运行环境由所属用户负责管理和配置。
步骤一:新建工作空间
在左侧导航栏,选择EMR Workbench > Notebook。
在工作空间页面,单击创建工作空间。
在弹出的对话框中,选择地域,设置名称、描述及网络相关参数(专有网络、交换机、安全组),单击创建工作空间。
网络配置相关信息,请参见管理网络配置。
例如,新建地域为华东1(杭州),名称为emr_notebook的工作空间。
说明工作空间创建成功后,系统会自动分配一台配备2 vCPU和8 GiB内存的机器,您可以在运行Notebook作业时启动并使用这台机器。
步骤二:配置访问信息
单击上一步中已新建工作空间(emr_notebook)操作列的控制台。
首次访问E-MapReduce Notebook页面时,您可以根据使用习惯选择笔记本的模式。后续可以通过左上角
进行调整。Notebook传统模式:可同时展开多个单元格,适用于原Jupyter用户。
SQL专注模式:可放大SQL单元格,专注于SQL场景,适用于原Hue用户。
在左侧导航栏,单击(数据库)图标。
单击图标。
在弹出的面板中,配置相关的参数。
更多类型介绍,请参见管理数据库。
参数
说明
数据库类型
选择Hive。本文以Hive类型为例。
名称
新建数据库的名称,长度限制为1~64个字符,只允许包含中文、字母、数字、空格、短划线(-)和下划线(_)。
本示例为demo_hive。
网络类型
仅支持专有网络类型。
专有网络
默认展示工作空间配置的网络参数,不支持修改。为了确保数据源能够顺利连接至工作空间,其专有网络、安全组必须与当前展示的工作空间预设网络配置完全一致。
安全组
地址
EMR集群部署了HiveServer2的节点的IP地址,通常为集群Master节点的IP地址。
端口
EMR集群中HiveServer2的端口信息,通常为hive.server2.thrift.port的参数值。
您可以在EMR控制台Hive服务的配置页面,查看hive.server2.thrift.port的参数值。
数据库
待访问的Hive数据库名称。
访问方式
支持以下访问方式:
LDAP:EMR集群中设置的用户名和密码,详情请参见管理用户。
免密登录:仅需设置用户名。
网络检测
单击测试连通性,可以测试网络连通性。
单击添加数据库。
步骤三:新建Notebook
在左侧导航栏,单击(文件浏览器)图标。
单击。
在弹出的添加笔记本对话框中,输入名称,然后单击确定。
步骤四:编辑并运行Notebook
在新建的笔记本中,单击上方的SQL,新建一个单元格(Cell)。
本文以SQL语言为例。
在新建Cell的数据库下拉列表中,选择目标数据库(本示例为demo_hive)。
输入SQL语句。
本文示例如下。
SHOW TABLES; DROP TABLE myHiveTable; CREATE TABLE IF NOT EXISTS myHiveTable (id int, score int); INSERT INTO TABLE myHiveTable SELECT '1','79' union all SELECT '2','83' union all SELECT '3','89' union all SELECT '4','95' union all SELECT '5','78'; SELECT * from myHiveTable;
单击按钮,运行该Cell。
步骤五:基于运行结果进行图表分析
选择步骤四中SELECT * from myHiveTable;
的运行结果,单击图标切换至图表分析模块,根据需求选择图表类型及其他参数。
如图所示,该图为柱状图,其中:X轴为id,Y轴为score。
步骤六:在Notebook中引用单元格变量
在一个Notebook文件内,如果同时有SQL和Python语言的单元格,SQL单元格运行的结果,被标记为变量df4, 则该变量结果可以在同一个Notebook内被再次引用。