Tüm Ürünler
Search
Belge Merkezi

DataWorks:MaxCompute MR düğümü

Son Güncelleme:Oct 05, 2026

MapReduce Java API kullanarak MaxCompute'da büyük ölçekli veri kümelerini işleyen MapReduce programlarını çalıştırmak için MaxCompute MR düğümleri oluşturun ve zamanlayın.

Arka Plan

MapReduce, kullanıcı tarafından yazılan iş mantığını yerleşik bileşenlerle birleştirerek Hadoop kümesinde eşzamanlı çalışan dağıtık bir program oluşturan dağıtık bir hesaplama çerçevesidir. MaxCompute, MapReduce programlama arabiriminin iki sürümünü sunar. Daha fazla bilgi için bkz. MapReduce.

  • MaxCompute MapReduce: MaxCompute için yerel API'dir. Dosya sistemini açığa çıkarmadan hızlı çalıştırma ve hızlı geliştirme imkanı sunar.

  • Genişletilmiş MaxCompute MapReduce (MR2): Daha karmaşık iş zamanlama mantığını destekleyen MaxCompute MapReduce uzantısıdır. Yerel MaxCompute API ile aynı uygulamayı kullanır.

DataWorks'teki MaxCompute MR düğümleri, MapReduce görevlerini zamanlamanıza, çalıştırmanıza ve diğer işlerle entegre etmenize olanak tanır.

Önkoşullar

  • Bir MaxCompute hesaplama motorunu DataWorks çalışma alanına bağladınız.

  • Gerekli kaynaklar yüklenmiş ve dağıtılmıştır. Daha fazla bilgi için bkz. kaynak yönetimi.

Not

Bir MaxCompute MR düğümü oluşturmadan önce gerekli kaynakları yüklemeniz ve dağıtmanız gerekir.

Sınırlamalar

MaxCompute MR düğümlerine ilişkin sınırlamalar için bkz. Sınırlamalar.

Yordam

  1. MaxCompute MR düğümü düzenleyici sayfasında aşağıdaki geliştirme adımlarını izleyin.

    MR kodunu geliştirin

    Aşağıdaki örnek, wc_in tablosundaki her dizenin oluşumlarını saymak ve sonuçları wc_out tablosuna yazmak için bir MaxCompute MR düğümünün nasıl kullanılacağını gösterir.

    1. mapreduce-examples.jar kaynağını yükleyin, gönderin ve dağıtın. Daha fazla bilgi için bkz. kaynak yönetimi.

      Not

      mapreduce-examples.jar paketindeki uygulama mantığı hakkında bilgi için bkz. WordCount örneği.

    2. MaxCompute MR düğümü düzenleyicisinde aşağıdaki örnek kodu girin.

      --Create the input table.
      CREATE TABLE IF NOT EXISTS wc_in (key STRING, VALUE STRING);
      --Create the output table.
      CREATE TABLE IF NOT EXISTS wc_out (key STRING, cnt BIGINT);
          ---Create the system dual table.
          DROP TABLE IF EXISTS dual;
          CREATE TABLE dual(id BIGINT); --If the workspace does not have this pseudo table, you need to create it and initialize the data.
          ---Initialize data for the system pseudo table.
          INSERT OVERWRITE TABLE dual SELECT count(*) FROM dual;
          ---Insert sample data into the input table wc_in.
          INSERT OVERWRITE TABLE wc_in SELECT * FROM (
          SELECT 'project','val_pro' FROM dual 
          UNION ALL 
          SELECT 'problem','val_pro' FROM dual
          UNION ALL 
          SELECT 'package','val_a' FROM dual
          UNION ALL 
          SELECT 'pad','val_a' FROM dual
            ) b;
      -- Reference the JAR resource that was just uploaded. You can find the resource in the resource management panel, right-click to reference it.
      --@resource_reference{"mapreduce-examples.jar"}
      jar -resources mapreduce-examples.jar -classpath ./mapreduce-examples.jar com.aliyun.odps.mapred.open.example.WordCount wc_in wc_out
      Not

      Kodun açıklaması aşağıdadır:

      • --@resource_reference: Kaynak yönetimi bölümünde bir kaynak adına sağ tıklayıp Insert Resource Path seçeneğini belirterek bu ifadeyi otomatik olarak oluşturabilirsiniz.

      • -resources: Başvurulan JAR kaynak dosyasının adı.

      • -classpath: JAR paketinin yolu. Kaynak başvuruda bulunduğu için yol, ./ altındaki JAR paketine standart olarak ayarlanır.

      • com.aliyun.odps.mapred.open.example.WordCount: Çalıştırma sırasında çağrılan ana sınıf. Bu değer, JAR paketindeki ana sınıf adıyla aynı olmalıdır.

      • wc_in: Yukarıdaki kodda oluşturulan MR giriş tablosunun adı.

      • wc_out: Yukarıdaki kodda oluşturulan MR çıkış tablosunun adı.

      • Bir MR görevi birden fazla JAR kaynağını çağırdığında classpath aşağıdaki biçimde belirtilir: -classpath ./xxxx1.jar,./xxxx2.jar. Yollar virgül (,) ile ayrılır.

    MR görevini çalıştırın

    1. Run Configuration alanında Compute Resource, Compute Quota ve Resource Group seçeneklerini yapılandırın.

      Not

      Genel ağ veya VPC ağ ortamlarındaki veri kaynaklarına erişmek için veri kaynağıyla bağlantı testinden geçmiş bir zamanlama kaynak grubu kullanmanız gerekir. Daha fazla bilgi için bkz. Ağ bağlantısı.

    2. Araç çubuğundaki parametre iletişim kutusunda oluşturduğunuz MaxCompute veri kaynağını seçin ve MR görevini çalıştırmak için Run düğmesini tıklayın.

    (İsteğe bağlı) Sonuçları sorgulayın

    Bir MaxCompute SQL düğümü kullanarak wc_out çıkış tablosundaki verileri sorgulayın.

    SELECT * FROM wc_out;

    Sonuç:

    +------------+------------+
    | key        | cnt        |
    +------------+------------+
    | package    | 1          |
    | pad        | 1          |
    | problem    | 1          |
    | project    | 1          |
    | val_a      | 2          |
    | val_pro    | 2          |
    +------------+------------+
  2. Düğüm görevini periyodik olarak çalıştırmak için iş gereksinimlerinize göre zamanlama ayarlarını yapılandırın. Daha fazla bilgi için bkz. Zamanlama ayarları.

  3. Düğüm görevi yapılandırıldıktan sonra düğümü dağıtmanız gerekir. Daha fazla bilgi için bkz. Düğüm dağıtma.

  4. Görev dağıtıldıktan sonra Operation Center'da zamanlanmış görevin çalışma durumunu görüntüleyebilirsiniz. Daha fazla bilgi için bkz. Zamanlanmış görevler.

İlgili Konular

Diğer ODPS MR görev geliştirme senaryoları için aşağıdaki konulara bakın:

MR görevi çalıştırma sırasında karşılaşılan yaygın sorunlar ve sorun giderme çözümleri için bkz. SSS.