本快速入门介绍如何使用 Apache Zeppelin 在 Azure HDInsight 中运行 Apache Hive 查询。 HDInsight 交互式查询群集包括可用来运行交互式 Hive 查询的 Apache Zeppelin 笔记本。
如果没有 Azure 订阅,请在开始前创建一个试用版订阅。
一个 HDInsight 交互式查询群集。 若要创建 HDInsight 群集,请参阅创建群集。 请确保选择“交互式查询”群集类型。
请将以下 URL 中的
CLUSTERNAME
替换为你的群集的名称:https://CLUSTERNAME.azurehdinsight.cn/zeppelin
。 然后在 Web 浏览器中输入该 URL。输入群集登录用户名和密码。 在 Zeppelin 页中,可以创建新笔记,也可以打开现有笔记。 HiveSample 包含一些示例 Hive 查询。
选择“创建新笔记”。
在“创建新笔记”对话框中,键入或选择以下值:
- 笔记名称:输入笔记的名称。
- 默认解释器:从下拉列表中选择“jdbc”。
选择“创建笔记”。
在代码部分输入以下 Hive 查询,然后按 Shift + Enter:
%jdbc(hive) show tables
第一行中的
%jdbc(hive)
语句告诉笔记本使用 Hive JDBC 解释程序。该查询将返回一个名为 hivesampletable 的 Hive 表。
以下是可以针对 hivesampletable 运行的附加的两个 Hive 查询:
%jdbc(hive) select * from hivesampletable limit 10 %jdbc(hive) select ${group_name}, count(*) as total_count from hivesampletable group by ${group_name=market,market|deviceplatform|devicemake} limit ${total_count=10}
与传统 Hive 相比,返回查询结果的速度更快。
创建表。 在 Zeppelin 笔记本中执行以下代码:
%jdbc(hive) CREATE EXTERNAL TABLE log4jLogs ( t1 string, t2 string, t3 string, t4 string, t5 string, t6 string, t7 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS TEXTFILE;
将数据加载到新表中。 在 Zeppelin 笔记本中执行以下代码:
%jdbc(hive) LOAD DATA INPATH 'wasbs:///example/data/sample.log' INTO TABLE log4jLogs;
插入单个记录。 在 Zeppelin 笔记本中执行以下代码:
%jdbc(hive) INSERT INTO TABLE log4jLogs2 VALUES ('A', 'B', 'C', 'D', 'E', 'F', 'G');
查看 Hive 语言手册以了解更多语法。
完成本快速入门后,可以删除群集。 有了 HDInsight,便可以将数据存储在 Azure 存储中,因此可以在群集不用时安全地删除群集。 此外,还需要为 HDInsight 群集付费,即使不用也是如此。 由于群集费用数倍于存储空间费用,因此在群集不用时删除群集可以节省费用。
若要删除群集,请参阅使用浏览器、PowerShell 或 Azure CLI 删除 HDInsight 群集。
本快速入门介绍了如何使用 Apache Zeppelin 在 Azure HDInsight 中运行 Apache Hive 查询。 若要详细了解 Hive 查询,请参阅下一篇文章,其中介绍了如何使用 Visual Studio 执行查询。