练习 - 在 HDInsight 中上传和查询数据

已完成

现在,你已设置存储帐户和 Interactive Query 群集,接下来可以上传房地产数据并运行一些查询。 要上传的数据是纽约市的房地产数据。 它有超过 28000 个房产记录,其中包括地址、销售价格、建筑面积和地理编码位置信息,以便进行映射。 房地产投资公司根据以前卖出的房屋的销售价格,使用此信息来确定即将上市的新房的合适单位面积单价。

若要上传和查询数据,我们将使用 Data Analytics Studio,这是一个基于 Web 的应用程序,已安装在创建 Interactive Query 群集时使用的脚本操作中。 你可以使用 Data Analytics Studio 将数据上传到 Azure 存储,使用所设置的数据类型和列名称将数据转换为 Hive 表,然后使用 HiveQL 查询群集上的数据。 除 Data Analytic Studio 以外,还可使用任何 ODBC/JDBC 兼容的工具来使用 Hive 处理数据,例如 Spark & Hive Tools for Visual Studio Code。

接下来,你将使用 Zeppelin 笔记本快速可视化数据中的趋势。 使用 Zeppelin 笔记本,可以发送查询并在多个不同的预定义图表中查看结果。 安装在 Interactive Query 群集上的 Zeppelin 笔记本包含带有 Hive 驱动程序的 JDBC 解释器。

下载房地产数据

  1. 转到 https://github.com/Azure/hdinsight-mslearn/tree/master/Sample%20data,下载数据集,将 propertysales.csv 文件保存到计算机。

使用 Data Analytics Studio 上传数据

  1. 现在,使用以下 URL 在 Internet 浏览器中打开 Data Analytics Studio,将 servername 替换为你使用的群集名称:https://servername.azurehdinsight.net/das/

若要登录,用户名为 admin,密码是你所创建的密码。

如果遇到错误,请转到 Azure 门户中的群集的“概述”选项卡,并确保状态设置为“正在运行”,对于群集类型,将 HDI 版本设置为 Interactive Query 3.1 (HDI 4.0)。

  1. 在 Internet 浏览器中启动 Data Analytics Studio。

A screenshot of the Data Analytics Studio application

  1. 单击左侧菜单中的数据库,再单击绿色竖直省略号按钮,然后单击“创建数据库”。

A screenshot of the Create Database button in the Data Analytics Studio application

  1. 将数据库命名为“newyorkrealestate”,然后单击“创建”。

  2. 在数据库资源管理器中,单击“数据库名称框”,然后选择“newyorkrealestate”。

Database Explorer in the Data Analytics Studio application

  1. 在数据库资源管理器中,单击“+”,然后单击“创建表”。

Create table button Database Explorer in the Data Analytics Studio application

  1. 将新表命名为“propertysales”,然后单击“上传表”。 表名只能包含小写字母和数字,不能包含特殊字符。

Upload table in the Data Analytics Studio application

  1. 在页面的“选择文件格式”区域中:
    • 确保文件格式为 csv
    • 选中“是否第一行为标题?”框。
  2. 在页面的“选择源格式”区域中:
    • 选择“从本地上传”。
    • 单击“拖动文件进行上传”或单击“浏览”,然后导航到 propertysales.csv 文件。
  3. 在“列”部分中,将纬度和经度的数据类型更改为“字符串”,并将“销售日期”更改为“日期”。

Change data type in the Data Analytics Studio application

  1. 向上滚动并查看“表预览”部分,验证列标题是否正确。

Table preview in the Data Analytics Studio application

  1. 一直向下滚动,然后单击“创建”,在 newyorkrealestate 数据库中创建 Hive 表。

Create Hive Table button in the Data Analytics Studio application

  1. 在左侧菜单中,单击“撰写”。

Compose button in the Data Analytics Studio application

  1. 尝试以下 Hive 查询,以确保一切按预期方式运行。
SELECT `ADDRESS`, `ZIP CODE`, `SALE PRICE`, `SQUARE FOOTAGE`
FROM newyorkrealestate.propertysales;
  1. 输出应如下所示。

Query output in the Data Analytics Studio application

  1. 通过单击左侧菜单中的“查询”,查看查询的性能,然后选择刚刚运行的 SELECT ADDRESSZIP CODESALE PRICESQUARE FOOTAGE FROM newyorkrealestate.propertysales 查询。

如果有任何可用的性能建议,该工具会显示这些建议。 此页还显示运行的实际 SQL 查询,提供查询的可视化说明,显示运行查询时由 Hive 推断的配置详细信息,并提供一个时间线,用于显示执行查询的每个部分所用的时间。

使用 Zeppelin 笔记本浏览 Hive 表

  1. 在 Azure 门户的“概述”页的“群集”仪表板中,单击“Zeppelin 笔记本”。

Opening a Zeppelin Notebook in the Azure portal

  1. 单击“新建便笺”,将便笺命名为“房地产数据”,然后单击“创建”

Create a new Zeppelin Notebook in the Azure portal

  1. 将以下代码片段粘贴到 Zeppelin 窗口中的命令提示符下,然后单击播放图标。
%jdbc(hive)
show databases;
select * from newyorkrealestate.propertysales limit 10 ; 

查询输出将显示在窗口中。 可以看到返回的前 10 个结果。

Viewing Query results in a Zeppelin Notebook in the Azure portal

  1. 现在,可以使用 Zeppelin 中提供的一些可视化效果和图形功能,来触发更复杂的查询。 将以下查询复制到命令提示符中,然后单击。
%jdbc(hive)
select `sale price`, `square footage` from newyorkrealestate.propertysales 
where `sale price` < 20000000 AND `square footage` < 50000;

默认情况下,查询输出以表格格式显示。 相反,请选择散点图,查看 Zeppelin 笔记本提供的其中一个视觉对象。

Visualizations in a Zeppelin Notebook in the Azure portal