Tüm Ürünler
Search
Belge Merkezi

DataWorks:Veri kümelerini kullanma

Son Güncelleme:Oct 05, 2026

Veri geliştirme sırasında Shell, Python ve Notebook gibi düğümlerde Object Storage Service (OSS) veya Apsara File Storage NAS (NAS) ile okuma ve yazma işlemleri yapmak için veri kümelerini kullanabilirsiniz. Ayrıca, bir kişisel geliştirme ortamı örneği oluştururken depolama alanı olarak bir veri kümesini bağlayabilirsiniz.

Önemli

Veri kümesi oluşturma adımları hakkında bilgi edinmek için Veri kümelerini yönetme konusuna bakmanızı öneririz.

Genel Bakış

Veri kümeleri, DataWorks üzerinden doğrudan OSS ve NAS içinde depolanan verileri okumanıza ve yazmanıza olanak tanır. Bir veri kümesinin birden çok sürümünü oluşturabilir, zaman içindeki değişiklikleri izleyebilir ve gerektiğinde önceki bir sürüme geri dönebilirsiniz.

Sınırlamalar

  • Veri kümeleri yalnızca DataStudio yeni sürümünde desteklenir.

  • Kaynak grubu: Veri geliştirme düğümlerinden veri kümelerine yalnızca bir Serverless kaynak grubu aracılığıyla erişebilirsiniz.

  • Desteklenen nesneler: Veri kümeleri yalnızca Shell düğümleri, Python düğümleri, Temel geliştirme için Not Defterleri ve kişisel geliştirme ortamları içinde desteklenir. Her nesneye en fazla 5 veri kümesi bağlayabilirsiniz.

  • Depolama türü: Veri kümeleri, NFS protokolü kullanan Object Storage Service (OSS) ve Apsara File Storage NAS (NAS) hizmetlerini destekler.

  • İzinler: Bir veri kümesi bağlama hedefi salt okunur olarak ayarlanmışsa, içindeki klasörleri veya dosyaları değiştiremez ya da silemezsiniz. Bu işlemi denemeniz izin hatasıyla sonuçlanır.

Düğümlerde veri kümelerini kullanma

Bu bölümde, bir düğüme nasıl bir OSS veri kümesi bağlanacağı açıklanmaktadır. Bu örnekte, arka planında OSS bulunan bir DataWorks veri kümesi oluşturacak, OSS yolunu oss://datasets-oss.oss-cn-shanghai.aliyuncs.com/dataset01/v1/ veri kümesi bağlama yolu /mnt/data/dataset01 ile eşleştirecek ve ardından düğüm kodu üzerinden verilere okuma ve yazma işlemleri yapacaksınız.

Önkoşullar: Veri kümesi oluşturma

  1. Paket oluşturun veya dosya sistemi oluşturun.

    Bu örnekte bir OSS veri kümesi kullanılmaktadır. China (Shanghai) bölgesinde datasets-oss adlı bir paket oluşturun ve ardından /dataset01/v1 dizinini oluşturun.

  2. Veri kümesi oluşturun.

    Bu örnekte, datasets-oss adlı bir OSS veri kümesi oluşturun ve OSS yolunu oss://datasets-oss.oss-cn-shanghai.aliyuncs.com/dataset01/v1/ şu yola bağlayın: /mnt/data/dataset01.

1. Düğüm için veri kümesini yapılandırma

Bir Shell veya Python düğümünün Debug Configuration bölümünde datasets-oss veri kümesini yapılandırın.

Önemli
  • Düğümü yayınlamadan önce, Scheduling Settings bölümüne de veri kümesini eklemeniz gerekir.

  • Bir veri kümesi kullanmak için düğüme en az 0,5 hesaplama birimi (CU) ayırmanız gerekir.

Parametre

Açıklama

Datasets

Geçerli düğümün kodunun erişebileceği veri kümesini belirtir.

  • OSS tabanlı bir veri kümesi kullanıyorsanız, veri kümesinden ilk kez veri okuduğunuzda DataWorks kaynak grubuna, veri kümesi için yapılandırılmış OSS paketine erişim izni vermeniz gerekir. Yetkilendirme tamamlandıktan sonra DataWorks, erişim kimlik bilgilerini serverless kaynak grubunun /etc/oss-secret/ dizinine otomatik olarak ekler ve ossfs 2,0 bu dizindeki AccessKeyId dosyasını okuyarak kimlik bilgilerini alır. Resource Access Management (RAM) kullanıcısının AccessKey ID ve AccessKey Secret değerleri bu yetkilendirme süreci aracılığıyla eklenir ve manuel yapılandırma gerektirmez.

  • NAS tabanlı bir veri kümesi kullanıyorsanız, DataWorks kaynak grubunun VPC'sinin NAS bağlama hedefinin VPC'sine bağlı olduğundan emin olun. Yapılandırma ayrıntıları için bkz. Ağ bağlantısı çözümleri.

Bu örnekte, DataWorks'te oluşturulan OSS veri kümesi datasets-oss seçilir ve V1 sürümü seçilir.

Mount Path

Düğüm kodunun veri kümesine erişmek için kullandığı yol. Bu alan, veri kümesi tanımlanırken yapılandırılan Default Mount Path değeriyle otomatik olarak doldurulur.

Önemli

Aynı düğüme birden fazla veri kümesi bağlarsanız, bağlama yolları çakışmamalıdır.

Advanced Settings

Bu parametre isteğe bağlıdır. OSS verilerine erişmek için kullanılan araçları ve parametreleri veya NAS dosya sistemlerine erişim yapılandırmalarını JSON formatında belirtebilirsiniz.

  • Yapılandırdığınız veri kümesi OSS tabanlıysa, DataWorks varsayılan olarak ossfs 2,0'ı kullanarak veri kümesi yolundaki OSS verilerine erişir. OSS verilerine erişmek için başka araçlar belirtmek üzere Gelişmiş Yapılandırma'yı kullanabilirsiniz. Kullanılabilir araçlar hakkında ayrıntılı bilgi için bkz. Gelişmiş yapılandırma örnekleri. Aşağıdaki kod, varsayılan yapılandırmayı gösterir:

    {"mountOssType":"ossfs", "upload_concurrency":64} 
  • NAS tabanlı bir veri kümesi eklerseniz, NFS protokolünü kullanan bir Apsara File Storage NAS (NAS) dosya sistemine erişmek için ilgili yapılandırmaları (nasOptions parametresi) belirtebilirsiniz. Aşağıdaki kod, varsayılan yapılandırmayı gösterir. Parametre değerlerini özelleştirmek için bkz. NFS dosya sistemini manuel olarak bağlama.

    Önemli
    • Yalnızca NFS protokolü kullanan NAS dosya sistemleri bağlanabilir.

    • NAS için yalnızca bir gelişmiş yapılandırma parametresi desteklenir: nasOptions. NAS bağlama parametrelerini özelleştirmek için Gelişmiş Yapılandırma'yı şu şekilde ayarlayabilirsiniz: {"nasOptions":"<ParameterName1=ParameterValue>, <ParameterName2=ParameterValue>,..."}.

    {"nasOptions":"vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"}

Read Only

Varsayılan olarak, geçerli düğümde veri kümesinden okuma ve yazma yapabilirsiniz. Veri kümesi bu düğüm için salt okunur olarak ayarlanmışsa, düğüm kodundan bağlama dizinine veri yazamazsınız. Yazma girişimi izin hatasıyla sonuçlanır.

2. Veri kümesini düğümde kullanma

Bu örnekte bir Shell düğümü kullanılmaktadır. Bir OSS veri kümesini Shell düğümüne attıktan sonra, OSS verilerini yerel dosyalar gibi Shell düğümü kodunda yönetebilirsiniz. Aşağıdaki örnekte, varsayılan ossfs 2,0 aracı kullanılarak file01.txt dosyası datasets-oss OSS veri kümesinin /mnt/data/dataset01 bağlama yoluna yazılır.

Örnek kod:

echo "Hello World" > /mnt/data/dataset01/file01.txt
ls -tl /mnt/data/dataset01

Sağ taraftaki Debug Configurations panelinde Dataset sekmesini açın ve özel veri kümesi datasets-oss/V1 öğesini seçin. Kaynak grubu yetkilendirmesinin başarılı olduğunu gösteren mesajı onaylayın ve Read-only anahtarının kapalı olduğundan emin olun. Düğümü çalıştırdıktan sonra günlük, file01.txt dosyasının oluşturulduğunu (12 bayt, izinler: rwxrwxrwx), çıkış kodunun 0 olduğunu, geçen sürenin 0,741 saniye olduğunu ve durumun FINISH olduğunu gösterir.

Not

Çalışma sırasında Job Submit Failed! submit job failed directly! Caused by: execute task failed, exception: [103:ILLEGAL_TASK]:Task with dataset need 0.5cu at least! hata mesajını alırsanız, bu görev için yetersiz CU ayrıldığı anlamına gelir. Kaynak grubu için CU tahsisini en az 0,5 olacak şekilde artırın.

3. OSS'deki verileri doğrulama

2. Veri kümesini düğümde kullanma bölümündeki kod çalıştırıldıktan sonra, dosya veri kümesinin bağlama yoluyla eşleşen OSS depolama yoluna otomatik olarak yazılır. Dosyayı OSS depolama yolunda görüntüleyebilirsiniz. Bu örnekte, datasets-oss OSS veri kümesinin /mnt/data/dataset01 bağlama yolu oss://datasets-oss.oss-cn-shanghai.aliyuncs.com/dataset01/v1/ yoluna eşlenir. Aşağıdaki şekil, OSS yoluna yazılan verilerin bir örneğini göstermektedir.

Bu yolda, yazılan file01.txt dosyasını (0,012 KB, Standart depolama) bulabilirsiniz.

Kişisel geliştirme ortamında veri kümelerini kullanma

Bir veri kümesi tanımlandıktan sonra, örneği oluştururken veya değiştirirken bunu bir kişisel geliştirme ortamı örneğine bağlayabilirsiniz. Ardından, kişisel dizininizdeki terminalde veya bir Not Defteri'nde veri kümesinin verilerine doğrudan erişebilirsiniz.

Önkoşullar: Veri kümesi oluşturma

  1. Paket oluşturun veya dosya sistemi oluşturun.

  2. Veri kümesi oluşturun.

    Bu örnekte NAS tabanlı bir veri kümesi kullanılmaktadır. China (Shanghai) bölgesinde datasets-nas adlı bir NAS veri kümesi oluşturun ve NAS yolunu nas://****.cn-shanghai.nas.aliyuncs.com/mnt/dataset02/v1/ şu yola bağlayın: /mnt/data/dataset02.

1. Kişisel ortam için veri kümesini yapılandırma

Bir kişisel geliştirme ortamı örneği oluşturun ve mevcut NAS veri kümesi datasets-nas öğesini seçin.

Yapılandırma sayfasında, Dataset açılır listesinden datasets-nas öğesini seçin ve ilgili bağlama yolunu belirtin.

Parametre

Açıklama

Datasets

Örneğin kodunun erişebileceği veri kümesini belirtir. Kişisel geliştirme ortamı örneği için seçilen VPC'nin NAS bağlama hedefine bağlanabildiğinden emin olun.

Bu örnekte, DataWorks'te oluşturulan NAS veri kümesi datasets-nas seçilir ve V1 sürümü seçilir.

Mount Path

Örneğin kodunun veri kümesine erişmek için kullandığı yol.

Bu örnekte, NAS veri kümesi yolu nas://****.cn-shanghai.nas.aliyuncs.com/mnt/dataset02/v1/ şu yola bağlanır: /mnt/data/dataset02.

Önemli

Aynı kişisel geliştirme ortamı örneğine birden fazla veri kümesi bağlarsanız, bağlama yolları çakışmamalıdır.

Advanced Settings

Bu parametre isteğe bağlıdır. NFS protokolü kullanan bir Apsara File Storage NAS (NAS) dosya sistemine erişmek için yapılandırmaları (nasOptions parametresi) JSON formatında belirtebilirsiniz. Aşağıdaki kod, varsayılan yapılandırmayı gösterir. Parametre değerlerini özelleştirmek için NFS dosya sistemini manuel olarak bağlama konusuna da bakabilirsiniz.

Önemli
  • Yalnızca NFS protokolü kullanan NAS dosya sistemleri bağlanabilir.

  • NAS için yalnızca bir gelişmiş yapılandırma parametresi desteklenir: nasOptions. NAS bağlama parametrelerini özelleştirmek için Gelişmiş Yapılandırma'yı şu şekilde ayarlayabilirsiniz: {"nasOptions":"<ParameterName1=ParameterValue>,<ParameterName2=ParameterValue>,..."}.

{"nasOptions":"vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"}

Read Only

Varsayılan olarak, örnekte veri kümesinden okuma ve yazma yapabilirsiniz. Veri kümesi örnek için salt okunur olarak ayarlanmışsa, örnek içindeki koddan bağlama dizinine veri yazamazsınız. Yazma girişimi izin hatasıyla sonuçlanır.

2. Veri kümesini Not Defteri'nde kullanma

  1. DataStudio sayfasının üst kısmında kişisel geliştirme ortamı örneğine geçiş yapın ve ardından bir Temel geliştirme için Not Defteri oluşturun.

  2. Not Defteri'ne aşağıdaki içeriği ekleyin.

    1. Veri kümesindeki belirtilen yola veri yazın.

      import os
      # Define the destination path and file name
      file_path = "/mnt/data/dataset02/file02.txt"
      # Make sure that the directory exists. If the directory does not exist, create it.
      os.makedirs(os.path.dirname(file_path),exist_ok=True)
      # Write the content
      content = "Hello World!"
      try:
          with open(file_path, "w", encoding="utf-8") as file:
              file.write(content)
          print(f"The file is successfully written to {file_path}")
      except Exception as e:
          print(f"Failed to write the file: {str(e)}")
    2. Veri kümesindeki belirtilen yoldan veri okuyun.

      file_path = "/mnt/data/dataset02/file02.txt"
      with open(file_path, "r") as file:
          content = file.read()
      content
  3. İki Python kod parçasını ayrı ayrı çalıştırın.

    Not

    Kodu çalıştırmadan önce doğru Python kernel'inin seçildiğinden emin olun. Bu örnekte Python 3.11.9 kullanılmaktadır.

    İlk kod parçası: Veri kümesindeki belirtilen yola veri yazma.

    import os
    # Define the destination path and file name
    file_path = "/mnt/data/dataset02/file02.txt"
    # Make sure that the directory exists. If the directory does not exist, create it.
    os.makedirs(os.path.dirname(file_path),exist_ok=True)
    # Write the content
    content = "Hello World!"
    try:
        with open(file_path, "w", encoding="utf-8") as file:
            file.write(content)
            print(f"The file is successfully written to {file_path}")
    except Exception as e:
        print(f"Failed to write the file: {str(e)}")

    Çıktı The file is successfully written to /mnt/data/dataset02/file02.txt ise yazma işlemi başarılı demektir. İkinci kod parçası: Veri kümesindeki belirtilen yoldan veri okuma.

    file_path = "/mnt/data/dataset02/file02.txt"
    with open(file_path, "r") as file:
        content = file.read()
        content

    Çıktı 'Hello World!' ise okuma işlemi başarılı demektir.

3. Zamanlamayı yapılandırma

Not Defteri düğümünün sağ tarafında Scheduling Settings öğesine tıklayın ve veri kümesi seçeneklerini ekleyin. Kişisel geliştirme ortamı örneği için yapılandırılanlarla aynı parametreleri kullanın.

Gelişmiş yapılandırma örnekleri

Bir veri kümesi yapılandırırken, ilgili parametreleri JSON formatında özelleştirmek için gelişmiş yapılandırmalar ayarlayabilirsiniz:

  • Bir düğüm için veri kümesi yapılandırırken, OSS verilerini okumak ve yazmak için kullanılan araçları ve parametreleri belirtmek veya NAS dosya sistemlerindeki verileri okumak ve yazmak için yapılandırmaları belirlemek amacıyla gelişmiş yapılandırmalar ayarlayabilirsiniz.

  • Bir kişisel geliştirme ortamı için veri kümesi yapılandırırken, NAS dosya sistemlerindeki verileri okumak ve yazmak için yapılandırmaları belirlemek üzere gelişmiş parametreler ayarlayabilirsiniz.

ossfs 2,0 ile OSS bağlama

ossfs 2,0 yüksek performanslı erişim için OSS'yi bağlayan bir istemcidir. Yüksek sıralı okuma/yazma aktarım hızı sunar ve OSS bant genişliğini tam olarak kullanır. AI eğitimi ve büyük veri işleme gibi yüksek sıralı G/Ç performansı gerektiren yoğun hesaplama uygulamaları için uygundur. Bu iş yükü senaryoları genellikle sıralı ve rastgele okumalar ile sıralı (yalnızca ekleme) yazmalar içerir ve tam POSIX semantiği gerektirmez.

Bir düğüm için DatasetsAdvanced Settings alanında gelişmiş parametreler ayarlayabilirsiniz. Birden fazla seçeneği virgülle (,) ayırın. Gelişmiş parametrelerin nasıl kullanılacağına ilişkin talimatlar ve daha fazla yapılandırma seçeneği için bkz. ossfs 2,0 bağlama seçenekleri. Aşağıdaki örnekler birkaç yaygın senaryoyu göstermektedir:

  • Değişmez veri kaynağı: Okuduğunuz tüm dosyalar bir görev sırasında değiştirilmiyorsa, meta veri isteklerinin sayısını azaltmak için uzun bir önbellek süresi ayarlayabilirsiniz. Tipik bir senaryo, mevcut bir dosya grubunu okumak ve işlemeden sonra yeni bir dosya grubu oluşturmaktır.

    {"mountOssType":"ossfs", "attr_timeout": "7200"}
  • Hızlı okuma ve yazma işlemleri: Önbellek verimliliği ve veri güncelliği arasında denge kurmak için kısa bir meta veri önbellek süresi kullanın.

    {"mountOssType":"ossfs", "attr_timeout": "3", "negative_timeout":"0"}
  • Dağıtılmış görevler için tutarlı görünüm: Varsayılan olarak, ossfs dosya verilerini meta veri önbelleğine göre günceller. Birden çok düğümde senkronize bir görünüm elde etmek için aşağıdaki yapılandırmayı kullanın.

    { "mountOssType":"ossfs","negative_timeout": "0", "close_to_open":"false"}
  • Çok fazla dosya açılmasından kaynaklanan OOM: Yüksek görev eşzamanlılığı ve aynı anda açık çok sayıda dosya bellek yetersizliği (OOM) sorunlarına neden olabilir. Bellek baskısını hafifletmek için aşağıdaki yapılandırmayı kullanın.

    {"mountOssType":"ossfs","readdirplus": "false", "inode_cache_eviction_threshold":"300000"}

ossfs 1,0 ile OSS bağlama

ossfs 1,0 bir Linux sisteminde bir OSS paketini yerel dosya sistemi olarak bağlar. ossfs 2,0'a kıyasla ossfs 1,0, dosya işlemleri için daha kapsamlı destek sağlar. ossfs 2,0 ile dosya işlemi uyumsuzlukları yaşarsanız bunun yerine ossfs 1,0'ı kullanmayı deneyin.

ossfs 1,0 ile bağlama için gereken parametreler hakkında daha fazla bilgi için bkz. ossfs 1,0 bağlama seçenekleri.

JindoFuse ile OSS bağlama

Bir OSS veri kümesini bir konteynerdeki belirtilen yola bağlamak için JindoFuse bileşenini kullanabilirsiniz. Bu araç aşağıdaki senaryolar için uygundur:

  • OSS verilerini yerel bir veri kümesi gibi okumak istiyorsanız veya veri kümesi JindoFuse'un yerel önbellek hızlandırmadan yararlanacak kadar küçükse.

  • OSS'ye veri yazmanız gerekiyorsa.

Bir düğüm için DatasetsAdvanced Settings alanında gelişmiş parametreler ayarlayabilirsiniz. Birden fazla seçeneği virgülle (,) ayırın. Aşağıdaki kod yalnızca bir örnek göstermektedir. Parametre açıklamaları ve daha fazla yapılandırma seçeneği için bkz. JindoFuse Kullanıcı Kılavuzu ve Verileri bağlamak ve erişmek için JindoFuse kullanma.

Not

Şu anda DataWorks yalnızca key=value formatındaki parametreleri destekler.

{ 
  "mountOssType":"jindofuse",
  "fs.oss.download.thread.concurrency": "2 × number of CPU cores",
  "fs.oss.upload.thread.concurrency": "2 × number of CPU cores",
  "attr_timeout": 3,
  "entry_timeout": 0,
  "negative_timeout": 0
}

NAS veri kümesi kullanma

NAS tabanlı veri kümeleri için, NFS tabanlı bir Apsara File Storage NAS (NAS) dosya sistemine erişmek üzere yapılandırmaları (nasOptions parametresi kullanarak) belirtebilirsiniz. Aşağıdaki kod, varsayılan yapılandırmayı gösterir. Parametre değerlerini özelleştirmek için bkz. NFS dosya sistemini manuel olarak bağlama.

Önemli
  • Yalnızca NFS protokolü kullanan NAS dosya sistemleri bağlanabilir.

  • NAS için yalnızca bir gelişmiş yapılandırma parametresi desteklenir: nasOptions. NAS bağlama parametrelerini özelleştirmek için Gelişmiş Yapılandırma'yı şu şekilde ayarlayabilirsiniz: {"nasOptions":"<ParameterName1=ParameterValue>, <ParameterName2=ParameterValue>,..."}.

{"nasOptions":"vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"}

SSS

Bir OSS veri kümesinden veri okurken "FileNotFoundError: /etc/oss-secret/AccessKeyId" hatası alırsam ne yapmalıyım?

Bu hata genellikle DataWorks kaynak grubunun OSS'ye erişmek için gerekli kimlik bilgilerini alamadığını gösterir. Sorunu gidermek için aşağıdaki adımları uygulayın:

  1. Veri kümesi yapılandırma panelinde OSS yetkilendirmesini tamamladığınızdan emin olun. Veri kümesini ilk kez kullandığınızda bu yetkilendirme için bir istem görüntülenir.

  2. Serverless kaynak grubunun normal durumda olduğundan ve askıya alınmadığından emin olun.

  3. Yetkilendirme ve kaynak grubu durumu normal olmasına rağmen hata devam ediyorsa, ossfs kimlik bilgisi ekleme sürecini incelemesi için teknik destek ile iletişime geçin.

İlgili belgeler