全部產品
Search
文件中心

Object Storage Service:Hive以EMR叢集的方式處理OSS-HDFS服務中的資料

更新時間:Sep 10, 2026

本文介紹Hive如何以EMR叢集的方式處理OSS-HDFS服務中的資料。

前提條件

  • 已建立EMR-3.42.0及以上版本或EMR-5.8.0及以上版本的叢集,並在建立叢集時選擇了Hive服務。具體步驟,請參見建立叢集。

  • 已開通並授權訪問OSS-HDFS服務。具體操作,請參見開通OSS-HDFS服務。

操作步驟

  1. 登入EMR on ECS控制台,建立EMR叢集。

    建立EMR叢集時,確保選擇的产品版本為EMR-3.46.2及以上版本或者EMR-5.12.2及以上版本,集群存储根路径選擇已開通OSS-HDFS服務的Bucket,其他參數保留預設配置。具體步驟,請參見建立叢集。

  2. 在終端使用以下命令串連Hive。

    更多串連方式,請參見Hive串連方式。

    hive
  3. 在終端使用以下命令串連Hive。

    更多串連方式,請參見Hive串連方式。

    hive
  4. 為已有表添加分區。

    您可以為已建立的表添加分區,從而將其分成較小的儲存單元。根據查詢條件,只掃描滿足條件的分區而避免全表掃描,從而顯著提升查詢效能。

    • 命令格式

      ALTER TABLE <table_name> ADD [IF NOT EXISTS] PARTITION <pt_spec> [PARTITION <pt_spec> PARTITION <pt_spec>...] LOCATION 'location';

      參數說明如下:

      參數

      是否可選

      說明

      table_name

      必選

      待添加分區的表名稱。

      IF NOT EXISTS

      可選

      未指定IF NOT EXISTS時,如果同名的分區已存在,會執行失敗並返回報錯。

      pt_spec

      必選

      新增的分區,格式為(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...)。其中,partition_col表示分區欄位,partition_col_value表示分區值。分區欄位不區分大小寫,分區值區分大小寫。

      location

      必選

      指定儲存分區的OSS路徑。

    • 使用樣本

      以下樣本用於為表sale_detail添加一個分區,用於儲存2021年12月華東1(杭州)地區的銷售記錄,並將分區儲存於指定的OSS路徑。

      ALTER TABLE sale_detail ADD IF NOT EXISTS PARTITION (sale_date='202112', region='hangzhou') LOCATION 'oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/path/2021/';