Aracılığıyla paylaş


Ç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 UCXsunulmaktadır.

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ı olmak için Tablo geçişi iş akışı. 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çalıştırdığınız bilgisayarda yüklü paketler:

  • Databricks CLI v0.213 veya üzeri. "Databricks CLI'yi yükleyin veya güncelleyin"bölümüne bakın.

    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 databricks-sdk paketlerini indirmek pyyaml 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 deponuz olup olmadığını 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: Unity Kataloğu için çalışma alanınızın etkinleştirildiğini onaylama 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, kullanıcı yönetimini Azure Databricks hesap düzeyinde merkezileştirdiğiniz kimlik federasyonude etkinleştirir ve bu da UCX kullanmanın önkoşullarından biridir. 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 .

  • UCX iş akışlarını çalıştırdığınız çalışma alanında çalışan, değerlendirme iş akışı tarafından oluşturulan raporu oluşturmak için gereken 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 ucxvarsayılanı seçmek normaldir.

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

  4. Hesap düzeyinde gruplara geçirmek istediğiniz, çalışma alanına özgü grupları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 $inventory_database şemasındaki Delta tablolarında depolanır. bir 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 $inventory_database şemasındaki 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, SYNCkullanı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 CLONEkullanı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ış tablolarla çalışmaiçinde 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:

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

Ek tablo geçişi iş akışı komutları ve seçenekleri de dahil olmak üzere ayrıntılar için, UCX benioku dosyasında Tablo geçiş komutları kısmına bakın.

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ı > İşler çalıştırabilirsiniz.

Her iş akışı görevinin çıkışı, yükleme sırasında belirttiğiniz $inventory_database şemasındaki 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 README dosyasındaki Tablo Geçişi İş Akışı'e bakın.

Ek araçlar

UCX şunları 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--debugiçin herhangi bir komutla komutunu çalıştırın.
  • 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.