快速使用EMR Notebook

EMR Notebook提供了全托管的兼容开源Jupyter的Notebook服务,同时内置了SQL Editor的功能。支持SparkSQL、Hive、StarRocks、PySpark等应用程序的开发和运行。本文以Hive查询为例,为您介绍如何使用EMR Notebook。

前提条件

  • 已完成系统角色授权,详情请参见EMR Notebook角色授权

  • 已创建EMR on ECS形态下的集群,详情请参见创建集群

    支持的集群类型为DataLake、Hadoop和自定义集群。本文以Hive类型为例,所以集群需要选择Hive服务。

注意事项

代码的运行环境由所属用户负责管理和配置。

步骤一:新建工作空间

  1. 登录E-MapReduce控制台

  2. 在左侧导航栏,选择EMR Workbench > Notebook

  3. 工作空间页面,单击创建工作空间

  4. 在弹出的对话框中,选择地域,设置名称描述及网络相关参数(专有网络、交换机、安全组),单击创建工作空间

    网络配置相关信息,请参见管理网络配置

    例如,新建地域为华东1(杭州),名称为emr_notebook的工作空间。

    说明

    工作空间创建成功后,系统会自动分配一台配备2 vCPU和8 GiB内存的机器,您可以在运行Notebook作业时启动并使用这台机器。

步骤二:配置访问信息

  1. 单击上一步中已新建工作空间(emr_notebook)操作列的控制台

  2. 首次访问E-MapReduce Notebook页面时,您可以根据使用习惯选择笔记本的模式。后续可以通过左上角image > 偏好设置进行调整。

    • Notebook传统模式:可同时展开多个单元格,适用于原Jupyter用户。

    • SQL专注模式:可放大SQL单元格,专注于SQL场景,适用于原Hue用户。

  3. 在左侧导航栏,单击image(数据库)图标。

  4. 单击image图标。

  5. 在弹出的面板中,配置相关的参数。

    更多类型介绍,请参见管理数据库

    参数

    说明

    数据库类型

    选择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集群中设置的用户名和密码,详情请参见管理用户

    • 免密登录:仅需设置用户名。

    网络检测

    单击测试连通性,可以测试网络连通性。

  6. 单击添加数据库

步骤三:新建Notebook

  1. 在左侧导航栏,单击image(文件浏览器)图标。

  2. 单击image

  3. 在弹出的添加笔记本对话框中,输入名称,然后单击确定

步骤四:编辑并运行Notebook

  1. 在新建的笔记本中,单击上方的SQL,新建一个单元格(Cell)。

    本文以SQL语言为例。

  2. 在新建Cell的数据库下拉列表中,选择目标数据库(本示例为demo_hive)。

  3. 输入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;
  4. 单击image按钮,运行该Cell。

步骤五:基于运行结果进行图表分析

选择步骤四中SELECT * from myHiveTable;的运行结果,单击image.png图标切换至图表分析模块,根据需求选择图表类型及其他参数。

如图所示,该图为柱状图,其中:X轴为id,Y轴为score。

image

步骤六:在Notebook中引用单元格变量

在一个Notebook文件内,如果同时有SQL和Python语言的单元格,SQL单元格运行的结果,被标记为变量df4, 则该变量结果可以在同一个Notebook内被再次引用。

image