你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本快速入门中,你将使用 Azure 门户在 Azure HDInsight 中创建 Apache Spark 群集。 然后创建 Jupyter Notebook,并使用它针对 Apache Hive 表运行 Spark SQL 查询。 Azure HDInsight 是适用于企业的分析服务,具有托管、全面且开源的特点。 用于 HDInsight 的 Apache Spark 框架使用内存中处理功能实现快速数据分析和群集计算。 Jupyter Notebook 允许你与数据交互,将代码与 markdown 文本组合在一起,并执行简单的可视化效果。
有关可用配置的深入说明,请参阅 在 HDInsight 中设置群集。 有关使用门户创建群集的详细信息,请参阅 门户中的“创建群集”。
如果同时使用多个群集,则可能需要创建虚拟网络;如果使用的是 Spark 群集,可能还需要使用 Hive Warehouse Connector。 有关详细信息,请参阅为 Azure HDInsight 规划虚拟网络和将 Apache Spark 和 Apache Hive 与 Hive Warehouse Connector 集成。
重要
无论是否使用,HDInsight 群集的计费都按分钟计算。 使用完群集后,请务必将其删除。 有关详细信息,请参阅本文的“ 清理资源 ”部分。
先决条件
拥有有效订阅的 Azure 帐户。 免费创建帐户。
在 HDInsight 中创建 Apache Spark 群集
使用 Azure 门户创建 HDInsight 群集,该群集使用 Azure 存储 Blob 作为群集存储。 有关使用 Data Lake Storage Gen2 的详细信息,请参阅 快速入门:在 HDInsight 中设置群集。
登录到 Azure 门户。
在顶部菜单中,选择“+ 创建资源”。
选择 Analytics>Azure HDInsight 转到 “创建 HDInsight 群集 ”页。
在 “基本信息 ”选项卡中,提供以下信息:
资产 Description Subscription 从下拉列表中,选择用于群集的 Azure 订阅。 资源组 从下拉列表中选择现有资源组,或选择“新建”。 群集名称 输入任何全局唯一的名称。 区域 从下拉列表中,选择在其中创建群集的区域。 可用性区域 可选 - 指定要在其中部署群集的可用性区域 群集类型 选择群集类型以打开列表。 从列表中选择 Spark。 群集版本 选择群集类型后,此字段中将自动填充默认版本。 群集登录用户名 输入群集登录用户名。 默认名称为 admin。在此快速入门中稍后使用此帐户登录到 Jupyter Notebook。 群集登录密码 输入群集登录密码。 安全外壳 (SSH) 用户名 输入 SSH 用户名。 用于本快速入门的 SSH 用户名是 sshuser。 默认情况下,此帐户与 群集登录用户名 帐户共享相同的密码。
选择 “下一步:存储 >> ”以继续转到 “存储 ”页。
在“存储”下,提供以下值:
资产 Description 主存储类型 使用默认值 Azure 存储。 选择方法 使用默认值 “从列表中选择”。 主存储帐户 使用自动填充的值。 集装箱 使用自动填充的值。
选择“查看 + 创建”以继续。
在“查看 + 创建”下,选择“创建”。 创建群集大约需要 20 分钟时间。 必须先创建群集,才能继续下一会话。
如果在创建 HDInsight 群集时遇到问题,可能是你没有执行此作的适当权限。 有关详细信息,请参阅 访问控制要求。
创建 Jupyter Notebook
Jupyter Notebook 是支持各种编程语言的交互式笔记本环境。 笔记本允许你与数据交互,将代码与 markdown 文本组合在一起,并执行简单的可视化效果。
在网络浏览器中,转到
https://CLUSTERNAME.azurehdinsight.net/jupyter,其中CLUSTERNAME是您群集的名称。 如果系统提示,请输入群集的群集登录凭据。选择 “新建>PySpark ”以创建笔记本。
创建并打开名为 Untitled(Untitled.pynb)的新笔记本。
运行 Apache Spark SQL 语句
SQL(结构化查询语言)是查询和定义数据的最常用且广泛使用的语言。 Spark SQL 作为 Apache Spark 的扩展,用于处理结构化数据,使用熟悉的 SQL 语法。
验证内核是否已准备就绪。 在笔记本中内核名称旁边看到空心圆圈时,内核已准备就绪。 实心圆表示操作系统内核正忙。
首次启动笔记本时,内核在后台执行一些任务。 等待内核准备就绪。
将以下代码粘贴到空单元格中,然后按 Shift + ENTER 运行代码。 该命令列出群集上的 Hive 表:
%%sql SHOW TABLES将 Jupyter Notebook 与 HDInsight 群集配合使用时,将获得一个预设
sqlContext,可用于使用 Spark SQL 运行 Hive 查询。%%sql告知 Jupyter Notebook 使用预设sqlContext来运行 Hive 查询。 默认情况下,查询从 Hive 表(hivesampletable)检索所有 HDInsight 群集附带的前 10 行。 获取结果大约需要 30 秒。 输出如下所示:
是 quickstart." border="true":::每次在 Jupyter 中运行查询时,Web 浏览器窗口标题都会显示一个 (忙碌) 状态以及笔记本标题。 在右上角,PySpark 文本旁边还有一个实心圆圈。
运行另一个查询以查看
hivesampletable中的数据。%%sql SELECT * FROM hivesampletable LIMIT 10屏幕应刷新以显示查询输出。
Insight" border="true":::在笔记本上的“ 文件 ”菜单中,选择“ 关闭”和“停止”。 关闭笔记本会释放群集资源。
清理资源
HDInsight 将数据保存在 Azure 存储或 Azure Data Lake Storage 中,因此在群集未使用时可以安全地删除群集。 此外,即使 HDInsight 群集未被使用,仍需为其付费。 由于群集费用数倍于存储空间费用,因此在群集不用时删除群集可以节省费用。 如果计划立即处理 后续步骤 中列出的教程,则可能需要保留群集。
切换回 Azure 门户,然后选择“ 删除”。
sight cluster" border="true":::
还可以选择资源组名称以打开资源组页,然后选择“ 删除资源组”。 通过删除资源组,可以同时删除 HDInsight 群集和默认存储帐户。
后续步骤
本快速入门介绍了如何在 HDInsight 中创建 Apache Spark 群集并运行基本的 Spark SQL 查询。 转到下一教程,了解如何使用 HDInsight 群集针对示例数据运行交互式查询。