Çalışma zamanı değişiklikleri nedeniyle U-SQL çalışma zamanı hatalarını gidermeyi öğrenin

Önemli

Azure Data Lake Analytics 29 Şubat 2024'te kullanımdan kaldırıldı. Bu duyuru ile daha fazla bilgi edinin.

Veri analizi için kuruluşunuz Azure Synapse Analytics veya Microsoft Fabric kullanabilir.

Derleyici, iyileştirici ve iş yöneticisi dahil olmak üzere Azure Data Lake U-SQL çalışma zamanı U-SQL kodunuzu işler.

U-SQL çalışma zamanı sürümünüzü seçme

U-SQL işlerini Visual Studio, ADL SDK veya Azure Data Lake Analytics portalından gönderdiğinizde, işiniz şu anda kullanılabilir olan varsayılan çalışma zamanını kullanır. U-SQL çalışma zamanının yeni sürümleri düzenli olarak yayımlanmaktadır ve hem küçük güncelleştirmeleri hem de güvenlik düzeltmelerini içerir.

Özel bir çalışma zamanı sürümü de seçebilirsiniz; Yeni bir güncelleştirmeyi denemek istediğinizden, çalışma zamanının eski bir sürümünde kalmanız gerektiğinden veya normal yeni güncelleştirmeyi bekleyemediğiniz bildirilen bir sorun için bir düzeltme sağlandığı için.

Dikkat

Varsayılandan farklı bir çalışma zamanı seçmek, U-SQL işlerinizi bozma olasılığına sahiptir. Bu diğer sürümleri yalnızca test için kullanın.

Nadir durumlarda, Microsoft Desteği farklı bir çalışma zamanı sürümünü hesabınız için varsayılan olarak sabitleyebilir. Bu pini mümkün olan en kısa sürede geri döndürdüğünüzden emin olun. Bu sürüme sabitlenmiş durumda kalırsanız, daha sonraki bir tarihte süresi dolar.

İşlerinizin U-SQL çalışma zamanı sürümünü izleme

Visual Studio'nun iş tarayıcısını veya Azure portal iş geçmişini kullanarak hesabınızın iş geçmişinde geçmiş işlerinizin hangi çalışma zamanı sürümünü kullandığını görebilirsiniz.

  1. Azure portal Data Lake Analytics hesabınıza gidin.
  2. Tüm İşleri Görüntüle'yi seçin. Hesaptaki tüm etkin ve son tamamlanan işlerin listesi görüntülenir.
  3. İsteğe bağlı olarak, işleri Zaman Aralığı, İş Adı ve Yazar değerlerine göre bulmanıza yardımcı olması için Filtre'yi seçin.
  4. Tamamlanan işlerde kullanılan çalışma zamanını görebilirsiniz.

Geçmiş bir işin çalışma zamanı sürümünü görüntüleme

Kullanılabilir çalışma zamanı sürümleri zaman içinde değişir. Varsayılan çalışma zamanı her zaman "varsayılan" olarak adlandırılır ve en azından önceki çalışma zamanını bir süre kullanılabilir durumda tutar ve çeşitli nedenlerle özel çalışma zamanlarını kullanılabilir hale getiririz. Açıkça adlandırılmış çalışma zamanları genellikle aşağıdaki biçimi izler (değişken parçalar için italik kullanılır ve [] isteğe bağlı bölümleri gösterir):

release_YYYYMMDD_adl_buildno[_modifier]

Örneğin release_20190318_adl_3394512_2, 18 Mart 2019 çalışma zamanı sürümünün derleme 3394512 ikinci sürümü ve release_20190318_adl_3394512_private aynı sürümün özel derlemesi anlamına gelir. Not: Tarih, bu sürüm için son check-in işleminin ne zaman alındığıyla ilgilidir ve resmi sürüm tarihi olmayabilir.

U-SQL çalışma zamanı sürümü sorunlarını giderme

Karşılaşabileceğiniz iki olası çalışma zamanı sürümü sorunu vardır:

  1. Betik veya kullanıcı kodu bir sürümden diğerine davranışı değiştiriyor. Bu tür hataya neden olan değişiklikler normalde sürüm notlarının yayımlanmasıyla önceden iletilir. Böyle bir hataya neden olan bir değişiklikle karşılaşırsanız, bu hataya neden olan davranışı bildirmek için (henüz belgelenmemiş olması durumunda) Microsoft Desteği başvurun ve işlerinizi eski çalışma zamanı sürümüne göre gönderin.

  2. Hesabınıza sabitlendiğinde açık veya örtük olarak varsayılan olmayan bir çalışma zamanı kullanıyorsunuz ve bu çalışma zamanı bir süre sonra kaldırıldı. Eksik çalışma zamanlarıyla karşılaşırsanız, betiklerinizi geçerli varsayılan çalışma zamanıyla çalışacak şekilde yükseltin. Daha fazla zamana ihtiyacınız varsa Microsoft Desteği

Bilinen sorunlar

  1. UsQL betiğinde Newtonsoft.Json dosya sürümü 12.0.3 veya üzeri başvuruda bulunmak aşağıdaki derleme hatasına neden olur:

    "Üzgünüz; Data Lake Analytics hesabınızda çalışan işler büyük olasılıkla daha yavaş çalışacak veya tamamlanamadı. Beklenmeyen bir sorun, bu işlevi Azure Data Lake Analytics hesabınıza otomatik olarak geri yüklememizi engelliyor. Araştırmak için Azure Data Lake mühendisleriyle iletişime geçildi."

    Çağrı yığınının içereceği yer:
    System.IndexOutOfRangeException: Index was outside the bounds of the array.
    at Roslyn.Compilers.MetadataReader.PEFile.CustomAttributeTableReader.get_Item(UInt32 rowId)
    ...

    Çözüm: Newtonsoft.Json dosyası v12.0.2 veya üzerini kullanın.

  2. Müşteriler mağazalarında geçici dosya ve klasörler görebilir. Bunlar normal iş yürütmesinin bir parçası olarak üretilir, ancak genellikle müşteriler görmeden önce silinir. Nadir ve rastgele olan belirli koşullar altında görünür kalabilirler. Bunlar sonunda silinir ve hiçbir zaman kullanıcı depolama alanının bir parçası olarak sayılmaz veya herhangi bir şekilde herhangi bir ücret oluşturmaz. Müşterilerin iş mantığına bağlı olarak sorunlara neden olabilir. Örneğin, iş klasördeki tüm dosyaları numaralandırır ve sonra dosya listelerini karşılaştırırsa, beklenmeyen geçici dosyaların mevcut olması nedeniyle başarısız olabilir. Benzer şekilde, bir aşağı akış işi daha fazla işlem için belirli bir klasördeki tüm dosyaları numaralandırırsa, geçici dosyaları da numaralandırabilir.

    Çözüm: Çalışma zamanında geçici dosyaların geçerli çıkış klasörü yerine hesap düzeyinde geçici klasörde depolandığı bir düzeltme tanımlanır. Geçici dosyalar bu yeni geçici klasöre yazılır ve işin yürütülmesinin sonunda silinir.
    Bu düzeltme müşteri verilerini işlediğinden, bu düzeltmenin yayımlanmadan önce MSFT içinde doğrulanması önemlidir. Bu düzeltmenin 2021 yılının ortasında beta çalışma zamanı olarak ve 2021 yılının ikinci yarısında varsayılan çalışma zamanı olarak kullanılabilir olması beklenmektedir.

Ayrıca bkz.