Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:EMR kümesinde OSS-HDFS'de depolanan verileri işlemek için Hive kullanma

Son Güncelleme:Oct 01, 2026

Bu konuda, OSS-HDFS'de depolanan verileri işlemek için E-MapReduce (EMR) kümesinde Hive'ın nasıl kullanılacağı anlatılmaktadır.

Önkoşullar

  • Hive hizmeti seçili olarak EMR V3.42.0 veya üzeri ya da EMR V5.8.0 veya üzeri bir sürüme sahip bir küme oluşturun. Daha fazla bilgi için bkz. Küme oluşturma.

  • Bir paket için OSS-HDFS'yi etkinleştirin ve OSS-HDFS üzerinde erişim izinleri verin. OSS-HDFS'yi etkinleştirme hakkında daha fazla bilgi için bkz. OSS-HDFS'yi etkinleştirme ve erişim izinleri verme.

Yordam

  1. Hive'a bağlanmak için terminalde aşağıdaki komutu çalıştırın.

    Diğer bağlantı yöntemleri için bkz. Hive bağlantı yöntemleri.

    hive
  2. Hive'a bağlanmak için terminalde aşağıdaki komutu çalıştırın.

    Diğer bağlantı yöntemleri için bkz. Hive bağlantı yöntemleri.

    hive
  3. Mevcut bir tabloya bölümler ekleyin.

    Tablo verilerini daha küçük birimlerde depolamak için mevcut bir tabloya bölümler ekleyebilirsiniz. Bölümlere göre sorgu koşulları belirtebilirsiniz. Bu sayede yalnızca belirtilen koşulları karşılayan bölümler taranır ve sorgu performansı artar.

    • Komut sözdizimi

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

      Aşağıdaki tabloda önceki komuttaki parametreler açıklanmıştır.


      Parametre


      Zorunlu


      Açıklama


      table_name


      Evet


      Bölüm eklemek istediğiniz tablonun adı.


      IF NOT EXISTS


      Hayır


      Tabloda aynı ada sahip bir bölüm varsa hatanın atlanmasını sağlayan parametredir. IF NOT EXISTS parametresi belirtilmezse ve eklemek istediğiniz bölümle aynı ada sahip bir bölüm zaten mevcutsa işlem başarısız olur ve bir hata döndürülür.


      pt_spec


      Evet


      Eklemek istediğiniz bölümlerdir. Bu parametrenin değeri (partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...) biçimindedir. Bu biçimde partition_col bölüm anahtarı sütunlarının adlarını, partition_col_value ise bu sütunların değerlerini temsil eder. Bölüm anahtarı sütunlarının adları büyük/küçük harfe duyarlı değildir ancak değerleri büyük/küçük harfe duyarlıdır.


      location


      Evet


      Bir bölümdeki verileri depolamak için kullanılan OSS yoludur.

    • Örnekler

      Aşağıdaki örnek kod, Çin (Hangzhou) bölgesindeki Aralık 2021 satış kayıtlarını depolamak üzere sale_detail adlı tabloya nasıl bölüm ekleneceğini ve bu bölümdeki verilerin depolanacağı OSS yolunun nasıl belirtileceğini göstermektedir:

      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/';