Share via


Çalışma alanınızı Unity Kataloğu'na yükseltmek için UCX yardımcı programlarını kullanın

Bu makalede , Unity-Catalog olmayan çalışma alanınızı Unity Kataloğu'na yükseltmenize yardımcı olacak araçlar sağlayan bir Databricks Labs projesi olan UCX tanıtıldığında.

Not

Databrickslabs GitHub hesabındaki tüm projeler gibi UCX de yalnızca araştırmanız için sağlanır ve Databricks tarafından hizmet düzeyi sözleşmeleri (SLA) ile resmi olarak desteklenmez. Olduğu gibi sağlanır. Hiçbir garanti vermeyeceğiz. Bu projenin kullanımından kaynaklanan sorunlarla ilgili bir Databricks destek bileti göndermeyin. Bunun yerine bir GitHub sorunu oluşturun. Sorunlar zaman izni olarak gözden geçirilecektir, ancak destek için resmi SLA'lar yoktur.

UCX projesi aşağıdaki geçiş araçlarını ve iş akışlarını sağlar:

  1. Geçişinizi planlamanıza yardımcı olacak değerlendirme iş akışı .
  2. Grup geçişi iş akışı , grup üyeliğini çalışma alanınızdan Databricks hesabınıza yükseltmenize ve izinleri yeni hesap düzeyindeki gruplara geçirmenize yardımcı olur.
  3. Çalışma alanınızın Hive meta veri deposunda kayıtlı tabloları Unity Kataloğu meta deposuna yükseltmenize yardımcı olması için tablo geçişi worfklow . Bu iş akışı, depolama konumlarını ve bunlara erişmek için gereken kimlik bilgilerini geçirmenize de yardımcı olur.

Bu diyagramda, geçiş iş akışlarını ve yardımcı programlarını ada göre tanımlayan genel geçiş akışı gösterilmektedir:

UCX geçiş iş akışları grafiği

Not

Diyagramda gösterilen kod geçişi iş akışı geliştirme aşamasında kalır ve henüz kullanılabilir değildir.

Başlamadan önce

UCX'i yükleyip UCX iş akışlarını çalıştırabilmeniz için önce ortamınızın aşağıdaki gereksinimleri karşılaması gerekir.

UCX'i çalıştırdığınız bilgisayarda yüklü paketler:

  • Databricks CLI v0.213 veya üzeri. Bkz. Databricks CLI'yı yükleme veya güncelleştirme.

    Hem çalışma alanı hem de Databricks hesabı için yapılandırma profillerini içeren bir Databricks yapılandırma dosyanız olmalıdır.

  • Python 3.10 veya üzeri.

  • Çalışma alanınızda Hive tabloları tarafından kullanılan depolama konumlarını tanımlayan UCX iş akışını çalıştırmak istiyorsanız (önerilir, ancak gerekli değildir), UCX iş akışlarını çalıştırdığınız bilgisayarda bulut depolama sağlayıcınızın CLI'sinin (Azure CLI veya AWS CLI) yüklü olması gerekir.

Ağ erişimi:

  • UCX yüklemesini çalıştıran bilgisayardan geçirmekte olduğunuz Azure Databricks çalışma alanına ağ erişimi.
  • UCX yüklemesini çalıştıran bilgisayardan İnternet'e ağ erişimi. Bu, pypi.org ve github.com erişim için gereklidir.
  • ve pyyaml paketlerini indirmek databricks-sdk için Azure Databricks çalışma alanınızdan pypi.org ağ erişimi.

Databricks rolleri ve izinleri:

  • UCX yüklemesini çalıştıran kullanıcı için Azure Databricks hesap yöneticisi ve çalışma alanı yöneticisi rolleri. Yüklemeyi hizmet sorumlusu olarak çalıştıramazsınız.

Diğer Databricks önkoşulları:

  • Yükseltmek istediğiniz bir çalışma alanını barındıran her bölge için oluşturulan Unity Kataloğu meta veri deposu, bu Azure Databricks çalışma alanlarının her biri bir Unity Kataloğu meta deposuna eklenmiştir.

    İlgili çalışma alanı bölgelerinde zaten bir Unity Kataloğu meta veri deposuna sahip olup olmadığınızı belirlemeyi, yoksa meta veri deposu oluşturmayı ve çalışma alanına Unity Kataloğu meta veri deposu eklemeyi öğrenmek için Unity Kataloğu kurulum makalesindeki 1. Adım: Çalışma alanınızın Unity Kataloğu için etkinleştirildiğini onaylama konusuna bakın. Alternatif olarak UCX, Unity Kataloğu meta depolarını UCX yüklendikten sonra kullanabileceğiniz çalışma alanlarına atamak için bir yardımcı program sağlar.

    Çalışma alanına Unity Kataloğu meta veri deposu eklemek, kimlik federasyonunu da etkinleştirir. Bu federasyonda kullanıcı yönetimini Azure Databricks hesap düzeyinde merkezileştirirsiniz. Bu, UCX'i kullanmak için de bir önkoşuldur. Bkz . Kimlik federasyonu etkinleştirme.

  • Çalışma alanınız varsayılan çalışma alanı yerel Hive meta deposu yerine bir dış Hive meta veri deposu (AWS Glue gibi) kullanıyorsa, bazı önkoşul kurulumu gerçekleştirmeniz gerekir. Bkz. Databrickslabs/ucx deposunda Dış Hive Meta Veri Deposu Tümleştirmesi .

  • Değerlendirme iş akışı tarafından oluşturulan raporu işlemek için gereken, UCX iş akışlarını çalıştırdığınız çalışma alanında çalışan Bir Pro veya Sunucusuz SQL ambarı.

UCX'i yükleme

UCX'i yüklemek için Databricks CLI'yı kullanın:

databricks labs install ucx

Aşağıdakileri seçmeniz istenir:

  1. Yükseltmek istediğiniz çalışma alanının Databricks yapılandırma profili. Yapılandırma dosyası, çalışma alanının üst Databricks hesabı için bir yapılandırma profili de içermelidir.

  2. Geçiş iş akışlarının çıkışını depolamak için kullanılacak envanter veritabanının adı. Genellikle varsayılan olan öğesini seçmek normaldir ucx.

  3. Yükleme işleminin çalıştırılacak bir SQL ambarı.

  4. Hesap düzeyinde gruplara geçirmek istediğiniz çalışma alanı yerel gruplarının listesi. Bunu varsayılan ()<ALL> olarak bırakırsanız, adı bir çalışma alanı yerel grubuyla eşleşen mevcut hesap düzeyi grupları, bu çalışma alanı yerel grubunun yerine geçer ve yüklemeden sonra grup geçişi iş akışını çalıştırdığınızda tüm çalışma alanı izinlerini devralır.

    Yükleyiciyi çalıştırdıktan sonra ve grup geçişini çalıştırmadan önce workspace-group-to-account-group eşlemesini değiştirme fırsatınız vardır. Bkz. UCX deposunda Grup Adı ÇakışmaSı Çözümü .

  5. AWS Glue gibi bir dış Hive meta veri deponuz varsa, buna bağlanıp bağlanmama seçeneğiniz vardır. Bkz. Databrickslabs/ucx deposunda Dış Hive Meta Veri Deposu Tümleştirmesi .

  6. Oluşturulan README not defterinin açılıp açılmaymayacağı.

Yükleme tamamlandığında bir BENİOKU not defteri, panolar, veritabanları, kitaplıklar, işler ve çalışma alanınızdaki diğer varlıkları dağıtır.

Daha fazla bilgi için proje benioku dosyasındaki yükleme yönergelerine bakın. UCX'i Databricks hesabınızdaki tüm çalışma alanlarına da yükleyebilirsiniz.

BENİOKU not defterini açma

Her yükleme, iş akışlarına ve panolara hızlı bağlantılar içeren tüm iş akışlarının ve görevlerin ayrıntılı açıklamasını sağlayan bir BENİOKU not defteri oluşturur. Bkz . Benioku not defteri.

1. Adım. Değerlendirme iş akışını çalıştırma

Değerlendirme iş akışı, geçerli çalışma alanında grup kimlikleri, depolama konumları, depolama kimlik bilgileri, erişim denetimleri ve tabloların Unity Kataloğu uyumluluğunu değerlendirir ve Unity Kataloğu'na geçişi planlamak için gereken bilgileri sağlar. Değerlendirme iş akışındaki görevler, belirtilen bağımlılıklara bağlı olarak paralel veya sıralı olarak yürütülebilir. Değerlendirme iş akışı tamamlandıktan sonra, bir değerlendirme panosu bulgular ve yaygın önerilerle doldurulur.

Her iş akışı görevinin çıkışı, yükleme sırasında belirttiğiniz şemadaki $inventory_database Delta tablolarında depolanır. Değerlendirme raporu kullanarak daha fazla analiz ve karar alma gerçekleştirmek için bu tabloları kullanabilirsiniz. Geçiş işlemine başlamadan önce tüm uyumsuz varlıkların tanımlandığından ve hesaba katıldığından emin olmak için değerlendirme iş akışını birden çok kez çalıştırabilirsiniz.

Değerlendirme iş akışını UCX tarafından oluşturulan README not defterinden ve Azure Databricks kullanıcı arabiriminden (İş Akışları > İşleri > [UCX] Değerlendirmesi) tetikleyebilir veya aşağıdaki Databricks CLI komutunu çalıştırabilirsiniz:

databricks labs ucx ensure-assessment-run

Ayrıntılı yönergeler için bkz . Değerlendirme iş akışı.

2. Adım. Grup geçişi iş akışını çalıştırma

Grup geçişi iş akışı, Unity Kataloğu'nu desteklemek için çalışma alanı yerel gruplarını hesap düzeyi gruplara yükseltmektedir. Çalışma alanında uygun hesap düzeyinde grupların kullanılabilir olmasını sağlar ve tüm izinleri çoğaltır. Ayrıca, çalışma alanından gereksiz grupları ve izinleri kaldırır. Grup geçişi iş akışındaki görevler, değerlendirme iş akışının çıkışına bağlıdır.

Her iş akışı görevinin çıkışı, yükleme sırasında belirttiğiniz şemadaki $inventory_database Delta tablolarında depolanır. Daha fazla analiz ve karar alma işlemi gerçekleştirmek için bu tabloları kullanabilirsiniz. Tüm grupların başarıyla yükseltildiğinden ve tüm gerekli izinlerin atandığından emin olmak için grup geçişi iş akışını birden çok kez çalıştırabilirsiniz.

Grup geçişi iş akışını çalıştırma hakkında bilgi için UCX tarafından oluşturulan README not defterinize ve UCX benioku dosyasında Grup geçişi iş akışınıza bakın.

Adım 3. Tablo geçişi iş akışını çalıştırma

Tablo geçişi iş akışı, Hive meta veri deposundaki tabloları Unity Kataloğu meta deposuna yükselter. Hive meta veri deposundaki dış tablolar, SYNC kullanılarak Unity Kataloğu'nda dış tablolar olarak yükseltilir. Çalışma alanı depolama alanında (DBFS kökü olarak da bilinir) depolanan Hive meta veri deposundaki yönetilen tablolar, DEEP CLONE kullanılarak Unity Kataloğu'nda yönetilen tablolar olarak yükseltilir.

Hive tarafından yönetilen tabloların yükseltilmesi için Delta veya Parquet biçiminde olması gerekir. Dış Hive tabloları, Dış tablolarda listelenen veri biçimlerinden birinde olmalıdır.

Hazırlık komutlarını çalıştırma

Tablo geçişi, tablo geçişi iş akışını çalıştırmadan önce çalıştırdığınız bir dizi hazırlık görevi içerir. Bu görevleri aşağıdaki Databricks CLI komutlarını kullanarak gerçekleştirirsiniz:

  • Hedef create-table-mapping Unity Kataloğu kataloğunu, şemasını ve tablosunu yükseltilecek her Hive tablosuyla eşleyen bir CSV dosyası oluşturan komut. Geçiş iş akışına geçmeden önce eşleme dosyasını gözden geçirip güncelleştirmeniz gerekir.
  • Bu create-uber-principal çalışma alanında tablolar tarafından kullanılan tüm depolama alanlarına salt okunur erişime sahip bir hizmet sorumlusu oluşturan komut. İş akışı işi işlem kaynağı, çalışma alanında tabloları yükseltmek için bu sorumluyu kullanır. Yükseltme işleminiz bittiğinde bu hizmet sorumlusu sağlamasını kaldırın.
  • (İsteğe bağlı) Çalışma principal-prefix-access alanında Hive tabloları tarafından kullanılan depolama hesaplarını ve depolama erişim kimlik bilgilerini tanımlayan komut.
  • (İsteğe bağlı) migrate-credentials tarafından principal-prefix-accesstanımlanan depolama erişim kimlik bilgilerinden Unity Kataloğu depolama kimlik bilgilerini oluşturan komut.
  • (İsteğe bağlı) tarafından migration locations oluşturulan migrate-credentialsdepolama kimlik bilgilerini kullanarak değerlendirme iş akışı tarafından tanımlanan depolama konumlarından Unity Kataloğu dış konumları oluşturan komut.
  • (İsteğe bağlı) Yükseltilen create-catalogs-schemastabloları barındıracak Unity Kataloğu kataloglarını ve şemalarını oluşturan komut.

Ek tablo geçişi iş akışı komutları ve seçenekleri de dahil olmak üzere ayrıntılar için bkz . UCX benioku dosyasındaki tablo geçiş komutları .

Tablo geçişini çalıştırma

Hazırlık görevlerini çalıştırdıktan sonra, tablo geçiş iş akışını UCX tarafından oluşturulan README not defterinden veya çalışma alanı kullanıcı arabirimindeki İş Akışları > İşleri'nden çalıştırabilirsiniz.

Her iş akışı görevinin çıkışı, yükleme sırasında belirttiğiniz şemadaki $inventory_database Delta tablolarında depolanır. Daha fazla analiz ve karar alma işlemi gerçekleştirmek için bu tabloları kullanabilirsiniz. Tüm tabloların başarıyla yükseltildiğinden emin olmak için tablo geçiş iş akışını birden çok kez çalıştırmanız gerekebilir.

Tam tablo geçiş yönergeleri için UCX tarafından oluşturulan README not defterinize ve UCX benioku dosyasındaki Tablo Geçişi İş Akışı'na bakın.

Ek araçlar

UCX, geçiş işleminizde başarılı olmanıza yardımcı olmak için hata ayıklama araçlarını ve diğer yardımcı programları da içerir. Daha fazla bilgi için bkz. UCX tarafından oluşturulan README not defteriniz ve UCX proje benioku.

UCX yüklemenizi yükseltme

UCX projesi düzenli olarak güncelleştirilir. UCX yüklemenizi en son sürüme yükseltmek için:

  1. UCX'in yüklü olduğunu doğrulayın.

    databricks labs installed
    
    Name  Description                            Version
    ucx   Unity Catalog Migration Toolkit (UCX)  0.20.0
    
  2. Yükseltmeyi çalıştırın:

    databricks labs upgrade ucx
    

Yardım alın

UCX CLI ile ilgili yardım için şunu çalıştırın:

databricks labs ucx --help

Belirli bir UCX komutuyla ilgili yardım için şunu çalıştırın:

databricks labs ucx <command> --help

Sorunları gidermek için:

  • Hata ayıklama günlüklerini etkinleştirmek için herhangi bir komutla komutunu çalıştırın--debug.
  • UCX tarafından otomatik olarak oluşturulan hata ayıklama not defterini kullanın.

Bir sorun veya özellik isteği göndermek için bir GitHub sorunu oluşturun.

UCX sürüm notları

UCX GitHub deposundaki değişiklik günlüğüne bakın.