你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 Apache Zeppelin 在 Azure HDInsight 中执行 Apache Hive 查询

本快速入门介绍如何使用 Apache Zeppelin 在 Azure HDInsight 中运行 Apache Hive 查询。 HDInsight 交互式查询群集包括 Apache Zeppelin 笔记本,可用于运行交互式 Hive 查询。

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

先决条件

HDInsight 交互式查询群集。 请参阅 “创建群集 ”以创建 HDInsight 群集。 请确保选择 交互式查询 群集类型。

创建 Apache Zeppelin 笔记

  1. 将以下 URL CLUSTERNAME中的 https://CLUSTERNAME.azurehdinsight.net/zeppelin 替换为您的群集名称。 然后在 Web 浏览器中输入 URL。

  2. 输入群集登录用户名和密码。 在 Zeppelin 页面中,可以创建新笔记或打开现有笔记。 HiveSample 包含一些示例 Hive 查询。

    HDInsight 交互式查询 zeppelin。

  3. 选择“ 创建新备注”。

  4. 在“ 创建新笔记 ”对话框中,键入或选择以下值:

    • 笔记名称:输入笔记的名称。
    • 默认解释器:从下拉列表中选择 jdbc
  5. 选择“ 创建备注”。

  6. 在代码部分中输入以下 Hive 查询,然后按 Shift + Enter

    %jdbc(hive)
    show tables
    

    HDInsight 交互式查询 zeppelin 运行查询。

    %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 相比,查询结果的恢复速度要快得多。

更多示例

  1. 创建表。 在 Zeppelin Notebook 中执行代码:

    %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;
    
  2. 将数据加载到新表中。 在 Zeppelin Notebook 中执行代码:

    %jdbc(hive)
    LOAD DATA
    INPATH 'wasbs:///example/data/sample.log'
    INTO TABLE log4jLogs;
    
  3. 插入单个记录。 在 Zeppelin Notebook 中执行代码:

    %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 执行查询。