Hive tablolarını ve görünümlerini Unity Kataloğu'na yükseltme

Bu makalede, var olan çalışma alanı yerel Hive meta veri deponuzda kayıtlı tabloları ve görünümleri Unity Kataloğu'na yükseltme açıklanmaktadır. Unity Kataloğu'nda Bir Hive tablosunu yönetilen tabloya veya dış tabloya yükseltebilirsiniz.

  • Yönetilen tablolar , Unity Kataloğu'nda tablo oluşturmanın tercih edilen yoludur. Unity Kataloğu yaşam döngüsünü, dosya düzenini ve depolama alanını tamamen yönetir. Unity Kataloğu ayrıca performanslarını otomatik olarak iyileştirir. Yönetilen tablolar her zaman Delta tablo biçimini kullanır.

    Yönetilen tablolar, Unity Kataloğu için ayırdığınız bir yönetilen depolama konumunda bulunur. Bu depolama gereksinimi nedeniyle, mevcut Hive tablolarını yönetilen tablolar olarak Unity Kataloğu'na kopyalamak istiyorsanız CLONE veya CREATE TABLE AS SELECT (CTAS) kullanmanız gerekir.

  • Dış tablolar , veri yaşam döngüsü, dosya düzeni ve depolama konumu Unity Kataloğu tarafından yönetilmeyen tablolardır. Dış tablolar için birden çok veri biçimi desteklenir.

    Genellikle dış tabloları yalnızca Databricks dışı işlem kullanarak (Databricks kümelerini veya Databricks SQL ambarlarını kullanmamak) kullanarak verilere doğrudan erişime ihtiyacınız olduğunda kullanırsınız. Dış tablolar, geçiş senaryolarında da kullanışlıdır, çünkü mevcut verileri Unity Kataloğu'na bu verileri kopyalamaya gerek kalmadan hızla kaydedebilirsiniz. Bu, dış tablolardaki verilerin ayrılmış yönetilen depolama alanında bulunması gerekmesi nedeniyledir.

Unity Kataloğu'nda yönetilen ve dış tablolar hakkında daha fazla bilgi için bkz . Tablolar.

Hive'ı Unity Kataloğu'na geçirme seçenekleri

Hive tablolarını Unity Kataloğu'na geçirmeye hazır olduğunuzda, kullanım örneğine bağlı olarak çeşitli seçenekleriniz vardır:

Geçiş aracı Açıklama Hive tablosu gereksinimleri Unity Kataloğu tablosu oluşturuldu Neden kullanmalıyım?
UCX Çalışma alanınızın Unity Kataloğu geçişi için hazır olup olmadığını değerlendiren ve kimlikleri, izinleri, depolama konumlarını ve tabloları Unity Kataloğu'na geçiren iş akışları gerçekleştiren kapsamlı bir komut satırı yardımcı programları ve diğer araçlar kümesi. UCX, Databrickslabs/ucx adresinde GitHub'da kullanılabilir. Yönetilen veya dış Hive tabloları Yönetilen veya dış Hive tablolarını Unity Kataloğu'na yükseltmenin ötesine geçen kapsamlı bir çalışma alanı yükseltme planlama aracı istiyorsunuz. Hive meta veri deposunda büyük miktarda veri içeren çalışma alanlarını yükseltmek istiyorsunuz. Betikleri rahatça çalıştırabilirsiniz. Hive tablolarının Unity Kataloğu yönetilen tablolarına toplu yükseltmesini gerçekleştirmek istiyorsanız, tek seçeneğiniz budur. Tüm Databricks Labs projeleri gibi UCX de genel bir GitHub deposudur ve databricks tarafından doğrudan desteklenmez.
Unity Kataloğu yükseltme sihirbazı Tüm şemaları (veritabanları) ve birden çok yönetilen ve dış tabloyu Hive meta veri deponuzdan Unity Kataloğu meta deposuna dış tablolar olarak toplu olarak kopyalamanızı sağlayan bir Katalog Gezgini özelliği. Yükseltme sihirbazı, seçtiğiniz tablolarda SYNC komutunu gerçekleştirir ve özgün Hive tablolarını olduğu gibi bırakır. Kaynak Hive tablolarındaki değişiklikleri almak için düzenli yükseltmeleri zamanlama seçeneğiniz vardır. Yönetilen veya dış Hive tabloları Yalnızca dış Unity Kataloğu'nda Hive tablolarınızı hızla dış tablolara yükseltmek istiyorsunuz ve görsel bir arabirim tercih ediyorsunuz. Kaynak Hive tablosu değiştiğinde düzenli eşitlemeleri zamanlama özelliği, Unity Kataloğu'na geçiş sırasında "karma" Hive ve Unity Kataloğu çalışma alanını yönetmek için kullanışlı bir araç haline getirir.
SYNC SQL komutu SYNC Dış tabloları ve yönetilen tabloları (yönetilen tablolar Bazen DBFS kökü olarak da bilinen Databricks çalışma alanı depolama alanının dışında depolanıyorsa) Unity Kataloğu'ndaki dış tablolara kopyalamanıza olanak tanır. Tek tek tabloları veya tüm şemaları eşitleyebilirsiniz.

SYNC , Hive meta veri deposundaki yeni değişiklikleri almak ve Unity Kataloğu ile eşitlemek için bir zamanlamaya göre çalıştırılacak şekilde tasarlanmıştır.
Yönetilen veya dış Hive tabloları Yalnızca dış Hive tablolarınızı Unity Kataloğu'ndaki dış tablolara hızla yükseltmek istiyorsunuz ve görsel arabirim yerine SQL komutlarını kullanmayı tercih ediyorsunuz.

Kaynak Hive tablosu değiştiğinde mevcut Unity Kataloğu tablolarını güncelleştirmek için normal SYNC çalıştırmaların zamanlanması, Unity Kataloğu'na geçiş sırasında "karma" Hive ve Unity Kataloğu çalışma alanını yönetmek için kullanışlı bir araç haline getirir.

Databricks çalışma alanı depolama alanında bulunan yönetilen tabloları yükseltmek için kullanamayacağınız SYNC için, bu tablolar için CREATE TABLE CLONE kullanın.
CREATE TABLE CLONE SQL komutu CREATE TABLE CLONE , Hive meta veri deponuzdaki yönetilen tabloları Unity Kataloğu'ndaki yönetilen tablolara yükseltmenizi sağlar. Tabloları tek tek kopyalayabilirsiniz.

Var olan tablo meta verilerine ek olarak kaynak tablo verilerini kopya hedefine kopyaladıkları için derin kopyalamalar tercih edilir.
Delta, Parquet veya Iceberg biçiminde yönetilen Hive tabloları. Parquet ve Iceberg kaynak tablolarını kopyalamanın bazı özel gereksinimleri ve sınırlamaları vardır: Bkz . Parquet ve Iceberg tablolarını kopyalama gereksinimleri ve sınırlamaları. Yalnızca yönetilen Unity Kataloğu veri idaresinin tüm avantajlarından yararlanmak için Hive yönetilen tablolarını Unity Kataloğu yönetilen tablolarına geçirmek istiyorsunuz ve Hive tablolarınız "Hive tablo gereksinimleri" hücresinde listelenen ölçütleri karşılıyor.

Hive tablolarınız "Hive tablosu gereksinimlerini" karşılamıyorsa, Hive tablosunu Unity Kataloğu yönetilen tablosuna yükseltmek için CREATE TABLE AS SELECT SQL komutunu kullanabilirsiniz. Ancak CLONE neredeyse her zaman tercih edilir. Kopyalama, değerinden daha CREATE TABLE AS SELECTbasit bir söz dizimine sahiptir: Bölümleme, biçim, sabit değerler, null atanabilirlik, akış, COPY INTOve diğer meta verileri belirtmeniz gerekmez, çünkü bunlar kaynak tablodan kopyalanmıştır.

Bu makalede, UCX tabanlı yükseltme işlemi dışında tüm işlemlerin nasıl gerçekleştirildiği açıklanmaktadır. Databricks, çoğu çalışma alanı yükseltme senaryosu için UCX'i önerir. Ancak, daha basit kullanım örnekleri için burada açıklanan araçlardan birini veya daha fazlasını tercih edebilirsiniz.

Başlamadan önce

Bu bölümde, izinler ve işlem gereksinimleriyle birlikte, geçişin hazırlıklı olmanız gereken bazı etkileri açıklanmaktadır.

Etkiyi anlama

İş yüklerinizi yeni Unity Kataloğu tablolarını kullanacak şekilde değiştirdiğinizde bazı davranışları değiştirmeniz gerekebileceğini unutmayın:

  • Unity Kataloğu bölümleri Hive'dan farklı yönetir. Bölümleri doğrudan işleyen Hive komutları Unity Kataloğu tarafından yönetilen tablolarda desteklenmez.
  • çalıştırdığınızda CREATE TABLE CLONEtablo geçmişi geçirilmez. Unity Kataloğu'na kopyaladığınız Hive meta veri deposundaki tüm tablolar yeni tablolar olarak değerlendirilir. Delta Lake zaman yolculuğu veya geçiş öncesi geçmişi kullanan diğer işlemleri gerçekleştiremezsiniz.

Daha fazla bilgi için bkz . Unity Kataloğu ve eski Hive meta veri deposuyla çalışma.

Gereksinimler

Geçişleri gerçekleştirmek için şunları yapmanız gerekir:

  • Unity Kataloğu meta veri deposuna ve en az bir Unity Kataloğu kataloğuna sahip bir çalışma alanı. Bkz . Unity Kataloğu'nu ayarlama ve yönetme.

  • Tabloları geçirmekte olduğunuz Unity Kataloğu kataloglarındaki ayrıcalıklar. Bu ayrıcalık gereksinimleri, bu makalede ele alınan her yordamın başında numaralandırılır.

  • Unity Kataloğu dış tablolarına geçiş için: Unity Kataloğu'nda tanımlanan depolama kimlik bilgileri ve dış konumlar ve CREATE EXTERNAL TABLE dış konumdaki ayrıcalık.

  • Aşağıdaki gereksinimlerin ikisini de karşılayan Azure Databricks işlem erişimi:

    • Unity Kataloğu'nu (tek kullanıcılı veya paylaşılan erişim modu kullanan SQL ambarları veya işlem kaynakları) destekler.
    • Hive meta veri deposundaki tablolara erişime izin verir.

    Paylaşılan erişim modunu kullanan işlem kaynakları varsayılan olarak eski tablo erişim denetimi için etkinleştirildiğinden, bu erişim modunu kullanıyorsanız, geçiş yaptığınız Hive meta deposunda tablo erişim denetimi ayrıcalıklarına sahip olmanız gerektiği anlamına gelir. Aşağıdaki SQL komutunu kullanarak kendinize erişim vekleyebilirsiniz:

    GRANT all_privileges ON catalog hive_metastore TO `<user>`
    

    Alternatif olarak, işlem kaynağını tek kullanıcılı erişim modunda kullanabilirsiniz.

Hive meta veri deposundaki nesnelerde ayrıcalıkları yönetme hakkında daha fazla bilgi için bkz . Hive meta veri deposu ayrıcalıkları ve güvenliği sağlanabilir nesneler (eski). Unity Kataloğu meta veri deposundaki nesnelerde ayrıcalıkları yönetme hakkında daha fazla bilgi için bkz . Unity Kataloğu'nda ayrıcalıkları yönetme.

Hive meta veri deposu tarafından yönetilen tabloları tanımlama

Bir tablonun Unity Kataloğu'nda kayıtlı olup olmadığını belirlemek için katalog adını denetleyin. Katalogdaki hive_metastore tablolar çalışma alanı yerel Hive meta veri deposuna kaydedilir. Listelenen diğer tüm kataloglar Unity Kataloğu tarafından yönetilir.

Katalog Gezgini'ni kullanarak katalogdaki hive_metastore tabloları görüntülemek için:

  1. Kenar çubuğunda Katalog'a tıklayınKatalog simgesi.
  2. Katalog bölmesinde kataloğa göz atın hive_metastore ve şema düğümlerini genişletin.

Katalog bölmesindeki filtre alanını kullanarak belirli bir tabloyu da arayabilirsiniz.

Yükseltme sihirbazını kullanarak Bir şemayı veya birden çok tabloyu Hive meta veri deposundan Unity Kataloğu dış tablolarına yükseltme

Katalog Gezgini yükseltme sihirbazını kullanarak Azure Databricks varsayılan Hive meta veri deponuzdan Unity Kataloğu meta deposuna tam şemaları (veritabanları) ve birden çok dış veya yönetilen tabloyu kopyalayabilirsiniz. Yükseltilen tablolar Unity Kataloğu'ndaki dış tablolar olacaktır.

Yükseltme sihirbazının ne zaman kullanılacağına karar verme konusunda yardım için bkz . Hive'ı Unity Kataloğu'na geçirme seçenekleri.

Gereksinimler

Veri biçimi gereksinimleri:

İşlem gereksinimleri:

  • Unity Kataloğu'nu destekleyen bir işlem kaynağı. Başlamadan önce bkz.

Unity Kataloğu nesnesi ve izin gereksinimleri:

Hive tablosu erişim gereksinimleri:

  • İşleminiz paylaşılan erişim modunu kullanıyorsa Hive meta veri deposundaki tablolara erişmeniz gerekir ve eski tablo erişim denetimi kullanılarak verilir. Başlamadan önce bkz.

Yükseltme işlemi

  1. Katalog Gezgini'ni açmak için kenar çubuğunda Katalog'a tıklayınKatalog simgesi.

  2. hive_metastore Kataloğunuz olarak seçin ve yükseltmek istediğiniz şemayı (veritabanını) seçin.

    Veritabanı seçin

  3. Şema ayrıntı görünümünün sağ üst kısmındaki Yükselt'e tıklayın.

  4. Yükseltmek istediğiniz tüm tabloları seçin ve İleri'ye tıklayın.

    Yükseltme sihirbazı kullanılarak yalnızca Unity Kataloğu tarafından desteklenen biçimlerdeki dış tablolar yükseltilebilir.

  5. Her tablo için hedef kataloğu, şemayı (veritabanı) ve sahibi ayarlayın.

    Kullanıcılar, katalog ve şemadaki ayrıcalıkları bağlamında yeni oluşturulan tabloya erişebilir.

    Tablo sahipleri ve MODIFYdahil olmak üzere SELECT tabloda tüm ayrıcalıklara sahiptir. Sahip seçmezseniz, yönetilen tablolar sahip olarak sizinle birlikte oluşturulur. Databricks genellikle gruplara tablo sahipliği vermenizi önerir. Unity Kataloğu'nda nesne sahipliği hakkında daha fazla bilgi edinmek için bkz . Unity Kataloğu nesne sahipliğini yönetme.

    Aynı kataloğu ve şemayı birden çok tabloya atamak için tabloları seçin ve Hedef ayarla düğmesine tıklayın.

    Aynı sahibi birden çok tabloya atamak için tabloları seçin ve Sahibi ayarla düğmesine tıklayın.

  6. Tablo yapılandırmalarını gözden geçirin. Bunları değiştirmek için Önceki düğmesine tıklayın.

  7. Yükseltme için Sorgu Oluştur'a tıklayın.

    Oluşturulan SQL deyimleriyle bir sorgu düzenleyicisi görüntülenir.

  8. Sorguyu çalıştırın.

    Sorgu tamamlandığında, her tablonun meta verileri Hive meta veri deposundan Unity Kataloğu'na kopyalanır. Bu tablolar yükseltme sihirbazında yükseltildi olarak işaretlenir.

  9. Her yeni tablonun İzinler sekmesini kullanarak ayrıntılı erişim denetimi tanımlayın.

  10. (İsteğe bağlı) Yükseltilen her Hive tablosuna, kullanıcıları yeni Unity Kataloğu tablosuna işaret eden açıklamalar ekleyin.

    Tablo açıklamasını eklemek için katalogdaki hive.metastore özgün tabloya dönün.

    Tablo açıklamasında aşağıdaki söz dizimini kullanırsanız, kullanım dışı bırakılmış Hive tablosuna başvuran not defterleri ve SQL sorgu düzenleyicisi sorguları, üstü çizili metin kullanarak kullanım dışı bırakılan tablo adını görüntüler, açıklamayı uyarı olarak görüntüler ve kodunuzu yeni tabloya başvuracak şekilde güncelleştirebilen Databricks Yardımcısı'na hızlı düzeltme bağlantısı sağlar.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Hive tablosunun geçirildiğini belirtmek için bkz. Açıklama ekleme.

  11. yeni tabloları kullanmak için iş yüklerinizi değiştirin.

    özgün Hive tablosuna isteğe bağlı önceki adımda listelenen gibi bir açıklama eklediyseniz, iş yüklerini bulmanıza ve değiştirmenize yardımcı olması için Hızlı Düzeltme bağlantısını ve Databricks Yardımcısı'nı kullanabilirsiniz.

Yükseltme sihirbazını kullanarak tek bir Hive tablosunu Unity Kataloğu dış tablosuna yükseltme

Katalog Gezgini'ndeki yükseltme sihirbazını kullanarak tek bir tabloyu varsayılan Hive meta veri deponuzdan Unity Kataloğu meta deposuna kopyalayabilirsiniz

Yükseltme sihirbazının ne zaman kullanılacağına karar verme konusunda yardım için bkz . Hive'ı Unity Kataloğu'na geçirme seçenekleri.

Gereksinimler

Veri biçimi gereksinimleri:

İşlem gereksinimleri:

  • Unity Kataloğu'nu destekleyen bir işlem kaynağı. Başlamadan önce bkz.

Unity Kataloğu nesnesi ve izin gereksinimleri:

Yükseltme işlemi

Dış tabloyu yükseltmek için:

  1. Katalog Gezgini'ni açmak için kenar çubuğunda Katalog'a tıklayınKatalog simgesi.

  2. Veritabanını ve ardından yükseltmek istediğiniz tabloyu seçin.

  3. Tablo ayrıntı görünümünün sağ üst köşesindeki Yükselt'e tıklayın.

  4. Yükseltecek tabloyu seçin ve İleri'ye tıklayın.

  5. Hedef kataloğunuzu, şemanızı (veritabanı) ve sahibi seçin.

    Kullanıcılar, katalog ve şemadaki ayrıcalıkları bağlamında yeni oluşturulan tabloya erişebilir.

    Tablo sahipleri ve MODIFYdahil olmak üzere SELECT tabloda tüm ayrıcalıklara sahiptir. Sahip seçmezseniz, yönetilen tablo sahip olarak sizinle birlikte oluşturulur. Databricks genellikle gruplara tablo sahipliği vermenizi önerir. Unity Kataloğu'nda nesne sahipliği hakkında daha fazla bilgi edinmek için bkz . Unity Kataloğu nesne sahipliğini yönetme.

  6. Tablo ayrıntı görünümünün sağ üst köşesindeki Yükselt'e tıklayın.

  7. Yükseltecek tabloyu seçin ve İleri'ye tıklayın.

    Tablo meta verileri artık Unity Kataloğu'na kopyalanır ve yeni bir tablo oluşturulur. Artık ayrıntılı erişim denetimi tanımlamak için İzinler sekmesini kullanabilirsiniz.

  8. Ayrıntılı erişim denetimi tanımlamak için İzinler sekmesini kullanın.

  9. (İsteğe bağlı) Hive tablosuna, kullanıcıları yeni Unity Kataloğu tablosuna işaret eden bir açıklama ekleyin.

    Tablo açıklamasını eklemek için katalogdaki hive.metastore özgün tabloya dönün.

    Tablo açıklamasında aşağıdaki söz dizimini kullanırsanız, kullanım dışı bırakılmış Hive tablosuna başvuran not defterleri ve SQL sorgu düzenleyicisi sorguları, üstü çizili metin kullanarak kullanım dışı bırakılan tablo adını görüntüler, açıklamayı uyarı olarak görüntüler ve kodunuzu yeni tabloya başvuracak şekilde güncelleştirebilen Databricks Yardımcısı'na hızlı düzeltme bağlantısı sağlar.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Hive tablosunun geçirildiğini belirtmek için bkz. Açıklama ekleme.

  10. Yeni tabloyu kullanmak için mevcut iş yüklerini değiştirin.

    özgün Hive tablosuna isteğe bağlı önceki adımda listelenen gibi bir açıklama eklediyseniz, iş yüklerini bulmanıza ve değiştirmenize yardımcı olması için Hızlı Düzeltme bağlantısını ve Databricks Yardımcısı'nı kullanabilirsiniz.

    Not

    Eski tabloya artık ihtiyacınız yoksa Hive meta veri deposundan bırakabilirsiniz. Dış tablo bırakılıyorsa, bulut kiracınızdaki veri dosyalarında değişiklik olmaz.

SYNC kullanarak Hive tablosunu Unity Kataloğu dış tablosuna yükseltme

Hive meta veri deponuzdaki SYNC dış tabloları Unity Kataloğu'ndaki dış tablolara kopyalamak için SQL komutunu kullanabilirsiniz. Tek tek tabloları veya tüm şemaları eşitleyebilirsiniz.

Databricks çalışma alanı depolama alanı dışında depolanan Hive yönetilen tablolarını (bazen DBFS kökü olarak da adlandırılır) Unity Kataloğu'ndaki dış tablolara kopyalamak için de kullanabilirsiniz SYNC . Çalışma alanı depolama alanında depolanan Hive yönetilen tablolarını kopyalamak için bunu kullanamazsınız. Bu tabloları kopyalamak için bunun yerine CREATE TABLE CLONE kullanın.

komut, SYNC hedef Unity Kataloğu dış tablosunun kaydı da dahil olmak üzere, muhasebe için ek tablo özellikleri eklemek üzere yükseltildiğinde her kaynak tabloya bir yazma işlemi gerçekleştirir.

SYNC , Hive meta veri deposundaki kaynak tablolar değiştirildiğinde mevcut Unity Kataloğu tablolarını güncelleştirmek için de kullanılabilir. Bu, Unity Kataloğu'na aşamalı olarak geçiş yapmak için iyi bir araç haline getirir.

Ayrıntılar için bkz . SYNC. Yükseltme sihirbazının ne zaman kullanılacağına karar verme konusunda yardım için bkz . Hive'ı Unity Kataloğu'na geçirme seçenekleri.

Gereksinimler

Veri biçimi gereksinimleri:

İşlem gereksinimleri:

  • Unity Kataloğu'nu destekleyen bir işlem kaynağı. Başlamadan önce bkz.

Unity Kataloğu nesnesi ve izin gereksinimleri:

Hive tablosu erişim gereksinimleri:

  • İşleminiz paylaşılan erişim modunu kullanıyorsa Hive meta veri deposundaki tablolara erişmeniz gerekir ve eski tablo erişim denetimi kullanılarak verilir. Başlamadan önce bkz.

Yükseltme işlemi

Kullanarak SYNCHive meta veri deponuzdaki tabloları Unity Kataloğu dış tablolarına yükseltmek için:

  1. Not defterinde veya SQL sorgu düzenleyicisinde aşağıdakilerden birini çalıştırın:

    Dış Hive tablosunu eşitleme:

    SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> FROM hive_metastore.<source-schema>.<source-table>
    SET OWNER <principal>;
    

    Dış Hive şemasını ve tüm tablolarını eşitleyin:

    SYNC SCHEMA <uc-catalog>.<new-schema> FROM hive_metastore.<source-schema>
    SET OWNER <principal>;
    

    Databricks çalışma alanı depolama alanının dışında depolanan yönetilen hive tablosunu eşitleyin:

    SYNC TABLE <uc-catalog>.<uc-schema>.<new-table> AS EXTERNAL FROM hive_metastore.<source-schema>.<source-table>
    SET OWNER <principal>;
    

    Databricks çalışma alanı depolama alanının dışında depolanan yönetilen Hive tablolarını içeren bir şemayı eşitleyin:

    SYNC SCHEMA <uc-catalog>.<new-schema> AS EXTERNAL FROM hive_metastore.<source-schema>
    SET OWNER <principal>;
    
  2. Hesap düzeyindeki kullanıcılara veya gruplara yeni tabloya erişim izni verin. Bkz . Unity Kataloğu'nda ayrıcalıkları yönetme.

  3. (İsteğe bağlı) Özgün Hive tablosuna, kullanıcıları yeni Unity Kataloğu tablosuna işaret eden bir açıklama ekleyin.

    Tablo açıklamasını eklemek için katalogdaki hive.metastore özgün tabloya dönün. Katalog Gezgini'ne kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . Katalog Gezgini'nin kullanıldığı veri nesnelerine markdown açıklamaları ekleme. Not defterinde veya SQL sorgu düzenleyicisinde SQL deyimlerini kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . COMMENT ON.

    Tablo açıklamasında aşağıdaki söz dizimini kullanırsanız, kullanım dışı bırakılmış Hive tablosuna başvuran not defterleri ve SQL sorgu düzenleyicisi sorguları, üstü çizili metin kullanarak kullanım dışı bırakılan tablo adını görüntüler, açıklamayı uyarı olarak görüntüler ve kodunuzu yeni tabloya başvuracak şekilde güncelleştirebilen Databricks Yardımcısı'na hızlı düzeltme bağlantısı sağlar.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Hive tablosunun geçirildiğini belirtmek için bkz. Açıklama ekleme.

  4. Tablo geçirildikten sonra, kullanıcıların mevcut sorgularını ve iş yüklerini yeni tabloyu kullanacak şekilde güncelleştirmeleri gerekir.

    özgün Hive tablosuna isteğe bağlı önceki adımda listelenen gibi bir açıklama eklediyseniz, iş yüklerini bulmanıza ve değiştirmenize yardımcı olması için Hızlı Düzeltme bağlantısını ve Databricks Yardımcısı'nı kullanabilirsiniz.

  5. Eski tabloyu bırakmadan önce, bu tabloya erişimi iptal edip ilgili sorguları ve iş yüklerini yeniden çalıştırarak bağımlılıkları test edin.

    Eski tabloya başvuran mevcut kodu bulmanıza ve güncelleştirmenize yardımcı olmak için kullanımdan kaldırma açıklamalarını kullanmaya devam ediyorsanız eski tabloyu bırakmayın. Benzer şekilde, özgün eşitlemenizden bu yana bu tablo değiştiyse eski tabloyu bırakmayın: SYNC mevcut Unity Kataloğu tablolarını kaynak Hive tablolarındaki değişikliklerle güncelleştirmek için kullanılabilir.

CLONE kullanarak Hive yönetilen tablosunu Unity Kataloğu yönetilen tablosuna yükseltme

Hive meta veri deponuzdaki yönetilen tabloları Unity Kataloğu'ndaki yönetilen tablolara yükseltmek için kullanın CREATE TABLE CLONE . Tabloları tek tek kopyalayabilirsiniz. Derin kopyalar , var olan tablo meta verilerine ek olarak kaynak tablo verilerini kopyalama hedefine kopyalar. Hive kaynak tablosunu bırakmayı planlıyorsanız derin kopya kullanın. Sığ kopyalar veri dosyalarını kopyalama hedefine kopyalamaz, ancak kaynak verilere başvurarak bunlara erişim verir: tablo meta verileri kaynağa eşdeğerdir. Basit kopyaların oluşturulması daha ucuz olur, ancak kopyalama hedefindeki verileri sorgulayan kullanıcıların da kaynak verilere erişmesini gerektirir.

ne zaman kullanılacağına CLONEkarar verme konusunda yardım için bkz . Hive'ı Unity Kataloğu'na geçirme seçenekleri. Hangi kopya türünün kullanılacağına karar verme konusunda yardım için bkz . Azure Databricks'te tablo kopyalama.

Gereksinimler

Veri biçimi gereksinimleri:

İşlem gereksinimleri:

  • Unity Kataloğu'nu destekleyen bir işlem kaynağı. Başlamadan önce bkz.

İzin gereksinimleri:

  • USE CATALOG Tabloyu eklediğiniz katalog ve şemadaki ve USE SCHEMA ayrıcalıkları, şemayla CREATE TABLE birlikte veya kataloğun veya şemanın sahibi olmanız gerekir. Bkz . Unity Kataloğu ayrıcalıkları ve güvenliği sağlanabilir nesneler.
  • İşleminiz paylaşılan erişim modunu kullanıyorsa Hive meta veri deposundaki tablolara erişmeniz gerekir ve eski tablo erişim denetimi kullanılarak verilir. Başlamadan önce bkz.

Yükseltme işlemi

Hive meta veri deponuzdaki yönetilen tabloları Unity Kataloğu'ndaki yönetilen tablolara yükseltmek için:

  1. Not defterinde veya SQL sorgu düzenleyicisinde aşağıdakilerden birini çalıştırın:

    Hive meta veri deposunda yönetilen bir tabloyu derin klonlama:

    CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table>
    DEEP CLONE hive_metastore.<source-schema>.<source-table>;
    

    Hive meta veri deposunda yönetilen tabloyu basit bir şekilde kopyalama:

    CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table>
    SHALLOW CLONE hive_metastore.<source-schema>.<source-table>;
    

    Tablo özellikleri de dahil olmak üzere ek parametreler hakkında bilgi için bkz . CREATE TABLE CLONE.

  2. Hesap düzeyindeki kullanıcılara veya gruplara yeni tabloya erişim izni verin. Bkz . Unity Kataloğu'nda ayrıcalıkları yönetme.

  3. (İsteğe bağlı) Özgün Hive tablosuna, kullanıcıları yeni Unity Kataloğu tablosuna işaret eden bir açıklama ekleyin.

    Tablo açıklamasını eklemek için katalogdaki hive.metastore özgün tabloya dönün. Katalog Gezgini'ne kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . Katalog Gezgini'nin kullanıldığı veri nesnelerine markdown açıklamaları ekleme. Not defterinde veya SQL sorgu düzenleyicisinde SQL deyimlerini kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . COMMENT ON.

    Tablo açıklamasında aşağıdaki söz dizimini kullanırsanız, kullanım dışı bırakılmış Hive tablosuna başvuran not defterleri ve SQL sorgu düzenleyicisi sorguları, üstü çizili metin kullanarak kullanım dışı bırakılan tablo adını görüntüler, açıklamayı uyarı olarak görüntüler ve kodunuzu yeni tabloya başvuracak şekilde güncelleştirebilen Databricks Yardımcısı'na hızlı düzeltme bağlantısı sağlar.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Hive tablosunun geçirildiğini belirtmek için bkz. Açıklama ekleme.

  4. Tablo geçirildikten sonra, kullanıcıların mevcut sorgularını ve iş yüklerini yeni tabloyu kullanacak şekilde güncelleştirmeleri gerekir.

    özgün Hive tablosuna isteğe bağlı önceki adımda listelenen gibi bir açıklama eklediyseniz, iş yüklerini bulmanıza ve değiştirmenize yardımcı olması için Hızlı Düzeltme bağlantısını ve Databricks Yardımcısı'nı kullanabilirsiniz.

  5. Eski tabloyu bırakmadan önce, bu tabloya erişimi iptal edip ilgili sorguları ve iş yüklerini yeniden çalıştırarak bağımlılıkları test edin.

    Eski tabloya başvuran mevcut kodu bulmanıza ve güncelleştirmenize yardımcı olmak için kullanımdan kaldırma açıklamalarını kullanmaya devam ediyorsanız eski tabloyu bırakmayın. Benzer şekilde, sığ bir kopya gerçekleştirdiyseniz eski tabloyu bırakmayın. Basit klonlar kaynak Hive tablosundaki verilere başvurur.

CREATE TABLE AS SELECT kullanarak Hive tablosunu Unity Kataloğu yönetilen tablosuna yükseltme

Hive meta veri deponuzdaki bir tabloyu Unity Kataloğu'ndaki yönetilen bir tabloya geçirmek için kullanamaz veya kullanmamayı CREATE TABLE CLONE tercih ederseniz, kullanarak CREATE TABLE AS SELECTHive tablosunu sorgulayarak Unity Kataloğu'nda yeni bir yönetilen tablo oluşturabilirsiniz. ile arasındaki CREATE TABLE CLONE farklar hakkında bilgi için bkz. Hive'ı Unity Kataloğu'na geçirme seçenekleri.CREATE TABLE AS SELECT

Gereksinimler

İşlem gereksinimleri:

  • Unity Kataloğu'nu destekleyen bir işlem kaynağı. Başlamadan önce bkz.

İzin gereksinimleri:

  • USE CATALOG Tabloyu eklediğiniz katalog ve şemadaki ve USE SCHEMA ayrıcalıkları, şemayla CREATE TABLE birlikte veya kataloğun veya şemanın sahibi olmanız gerekir. Bkz . Unity Kataloğu ayrıcalıkları ve güvenliği sağlanabilir nesneler.
  • İşleminiz paylaşılan erişim modunu kullanıyorsa Hive meta veri deposundaki tablolara erişmeniz gerekir ve eski tablo erişim denetimi kullanılarak verilir. Başlamadan önce bkz.

Yükseltme işlemi

Kullanarak CREATE TABLE AS SELECTHive meta veri deponuzdaki bir tabloyu Unity Kataloğu'nda yönetilen bir tabloya yükseltmek için:

  1. Varolan tabloyu sorgulayarak yeni bir Unity Kataloğu tablosu oluşturun. Yer tutucu değerlerini değiştirin:

    • <uc-catalog>: Yeni tablo için Unity Kataloğu kataloğu.
    • <uc-schema>: Yeni tablo için Unity Kataloğu şeması.
    • <new-table>: Unity Kataloğu tablosu için bir ad.
    • <source-schema>: Hive tablosunun şeması, örneğin default.
    • <source-table>: Hive tablosunun adı.

    SQL

    CREATE TABLE <uc-catalog>.<new-schema>.<new-table>
    AS SELECT * FROM hive_metastore.<source-schema>.<source-table>;
    

    Python

    df = spark.table("hive_metastore.<source-schema>.<source-table>")
    
    df.write.saveAsTable(
      name = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    R

    %r
    library(SparkR)
    
    df = tableToDF("hive_metastore.<source-schema>.<source-table>")
    
    saveAsTable(
      df = df,
      tableName = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    Scala

    val df = spark.table("hive_metastore.<source-schema>.<source-table>")
    
    df.write.saveAsTable(
      tableName = "<uc-catalog>.<uc-schema>.<new-table>"
    )
    

    Yalnızca bazı sütunları veya satırları geçirmek istiyorsanız deyimini SELECT değiştirin.

    Not

    Burada sunulan komutlar, verilerin ayrılmış bir yönetilen depolama konumuna kopyalandığı bir yönetilen tablo oluşturur. Bunun yerine, bulut depolamadaki verileri taşımadan tablonun Unity Kataloğu'na kaydedildiği bir dış tablo oluşturmak istiyorsanız, bkz . Yükseltme sihirbazını kullanarak tek bir Hive tablosunu Unity Kataloğu dış tablosuna yükseltme. Ayrıca bkz. Unity Kataloğu'nda yönetilen depolama konumu belirtme.

  2. Hesap düzeyindeki kullanıcılara veya gruplara yeni tabloya erişim izni verin. Bkz . Unity Kataloğu'nda ayrıcalıkları yönetme.

  3. (İsteğe bağlı) Özgün Hive tablosuna, kullanıcıları yeni Unity Kataloğu tablosuna işaret eden bir açıklama ekleyin.

    Tablo açıklamasını eklemek için katalogdaki hive.metastore özgün tabloya dönün. Katalog Gezgini'ne kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . Katalog Gezgini'nin kullanıldığı veri nesnelerine markdown açıklamaları ekleme. Not defterinde veya SQL sorgu düzenleyicisinde SQL deyimlerini kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . COMMENT ON.

    Tablo açıklamasında aşağıdaki söz dizimini kullanırsanız, kullanım dışı bırakılmış Hive tablosuna başvuran not defterleri ve SQL sorgu düzenleyicisi sorguları, üstü çizili metin kullanarak kullanım dışı bırakılan tablo adını görüntüler, açıklamayı uyarı olarak görüntüler ve kodunuzu yeni tabloya başvuracak şekilde güncelleştirebilen Databricks Yardımcısı'na hızlı düzeltme bağlantısı sağlar.

    This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.
    

    Hive tablosunun geçirildiğini belirtmek için bkz. Açıklama ekleme.

  4. Tablo geçirildikten sonra, kullanıcıların mevcut sorgularını ve iş yüklerini yeni tabloyu kullanacak şekilde güncelleştirmeleri gerekir.

    özgün Hive tablosuna isteğe bağlı önceki adımda listelenen gibi bir açıklama eklediyseniz, iş yüklerini bulmanıza ve değiştirmenize yardımcı olması için Hızlı Düzeltme bağlantısını ve Databricks Yardımcısı'nı kullanabilirsiniz.

  5. Eski tabloyu bırakmadan önce, bu tabloya erişimi iptal edip ilgili sorguları ve iş yüklerini yeniden çalıştırarak bağımlılıkları test edin.

    Eski tabloya başvuran mevcut kodu bulmanıza ve güncelleştirmenize yardımcı olmak için kullanımdan kaldırma açıklamalarını kullanmaya devam ediyorsanız eski tabloyu bırakmayın.

Görünümü Unity Kataloğu'na yükseltme

Görünümün başvuruda bulunan tüm tablolarını aynı Unity Kataloğu meta deposuna yükseltdikten sonra, yeni tablolara başvuran yeni bir görünüm oluşturabilirsiniz.

Hive tablosunun geçirildiğini belirtmek için açıklama ekleme

Kullanım dışı bırakılmış Hive tablosuna kullanıcıları yeni Unity Kataloğu tablosuna işaret eden bir açıklama eklediğinizde, kullanım dışı bırakılmış Hive tablosuna başvuran not defterleri ve SQL sorgu düzenleyicisi sorguları, üstü çizili metin kullanarak kullanım dışı bırakılan tablo adını görüntüler, açıklamayı uyarı olarak görüntüler ve Databricks Yardımcısı'na bir Hızlı Düzeltme bağlantısı sağlar ve kodunuzu yeni tabloya başvuracak şekilde güncelleştirebilir.

Hive tablosunu kullanımdan kaldırma uyarısı

Açıklamanız aşağıdaki biçimi kullanmalıdır:

This table is deprecated. Please use catalog.default.table instead of hive_metastore.schema.table.

Katalog Gezgini'ne kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . Katalog Gezgini'nin kullanıldığı veri nesnelerine markdown açıklamaları ekleme. Not defterinde veya SQL sorgu düzenleyicisinde SQL deyimlerini kullanarak tablo açıklamaları eklemeyi öğrenmek için bkz . COMMENT ON.

Kullanım dışı bırakılmış tablo başvurularını güncelleştirmek için Databricks Yardımcısı'nı kullanma

SQL sorgu düzenleyicisindeki not defteri hücresinde veya deyiminde tablo adında üstü çizili metin görürseniz, uyarı bildirimini göstermek için tablo adının üzerine gelin. Bu uyarı bildirimi tabloyu kullanım dışı olarak tanımlıyorsa ve yeni tablo adını görüntülüyorsa, Hızlı Düzeltme'ye tıklayın ve ardından KullanımDan Kaldırmayı Düzelt'e tıklayın. Databricks Yardımcısı açılır ve kullanım dışı bırakılan tablo adını yeni Unity Kataloğu tablo adıyla değiştirmeyi teklif eder. Görevi tamamlamak için istemleri izleyin.

Databricks Yardımcısı'nı kullanarak Hive tablo güncelleştirmesini gösteren video

Ayrıca bkz. Databricks Yardımcısı'nı kullanma.