Meningkatkan tabel dan tampilan Apache Hive ke Katalog Unity

Artikel ini menjelaskan cara memperbarui tabel dan tampilan yang terdaftar di metastore Hive lokal ruang kerja Anda yang ada ke Unity Catalog.

Note

Sebagai alternatif untuk proses migrasi tabel yang dijelaskan dalam artikel ini, Anda dapat menggunakan federasi metastore Apache Hive untuk membuat katalog di Unity Catalog yang mencerminkan metastore Apache Hive Anda. Lihat federasi Hive metastore: aktifkan Unity Catalog untuk mengatur tabel yang terdaftar dalam Hive metastore.

Anda dapat memutakhirkan tabel Apache Hive ke tabel terkelola atau tabel eksternal di Katalog Unity.

  • Tabel terkelola adalah cara yang lebih disukai untuk membuat tabel di Unity Catalog. Unity Catalog sepenuhnya mengelola siklus hidup, tata letak file, dan penyimpanannya. Unity Catalog juga mengoptimalkan performanya secara otomatis. Tabel terkelola selalu menggunakan format tabel Delta .

    Tabel yang terkelola berada di lokasi penyimpanan terkelola yang Anda pesan untuk Katalog Unity. Karena persyaratan penyimpanan ini, Anda harus menggunakan CLONE atau CREATE TABLE AS SELECT (CTAS) jika Anda ingin menyalin tabel Apache Hive yang ada ke Unity Catalog sebagai tabel terkelola.

  • Tabel eksternal adalah tabel yang siklus hidup datanya, tata letak file, dan lokasi penyimpanannya tidak dikelola oleh Katalog Unity. Beberapa format data didukung untuk tabel eksternal.

    Biasanya Anda menggunakan tabel eksternal hanya ketika Anda juga memerlukan akses langsung ke data menggunakan komputasi non-Databricks (yaitu, tidak menggunakan kluster Databricks atau gudang Databricks SQL). Tabel eksternal juga nyaman dalam skenario migrasi, karena Anda dapat mendaftarkan data yang ada di Unity Catalog dengan cepat tanpa harus menyalin data tersebut. Ini berkat fakta bahwa data dalam tabel eksternal tidak harus berada di penyimpanan yang dikelola dan dialokasikan secara khusus.

Untuk informasi selengkapnya tentang tabel terkelola dan eksternal di Unity Catalog, lihat Tabel Azure Databricks.

Opsi migrasi Hive ke Unity Catalog

Ketika Anda siap untuk memigrasikan tabel Apache Hive ke Unity Catalog, Anda memiliki beberapa opsi, tergantung pada kasus penggunaan Anda:

Alat migrasi Description Persyaratan tabel Hive Tabel Unity Catalog dibuat Mengapa saya harus menggunakannya?
UCX Serangkaian utilitas baris perintah yang komprehensif dan alat lain yang menilai kesiapan ruang kerja Anda untuk migrasi Katalog Unity dan melakukan alur kerja yang memigrasikan identitas, izin, lokasi penyimpanan, dan tabel ke Unity Catalog. UCX tersedia di GitHub di databrickslabs/ucx. Tabel Hive yang dikelola atau eksternal Terkelola atau eksternal Anda menginginkan alat perencanaan peningkatan ruang kerja komprehensif yang melampaui peningkatan tabel Apache Hive ke Unity Catalog. Anda ingin memperbarui ruang kerja yang memiliki data dalam jumlah besar di metastore Hive. Anda nyaman menjalankan skrip. Jika Anda ingin melakukan peningkatan massal tabel Apache Hive ke tabel terkelola Unity Catalog, ini adalah satu-satunya opsi Anda. UCX, seperti semua proyek Databricks Labs, adalah repositori GitHub publik dan tidak didukung langsung oleh Databricks.
Panduan peningkatan Katalog Unity Fitur Catalog Explorer yang memungkinkan Anda menyalin seluruh skema (database) secara massal dan beberapa tabel terkelola dan eksternal dari metastore Apache Hive Anda ke metastore Katalog Unity sebagai tabel eksternal. Wizard peningkatan melakukan SYNC perintah pada tabel yang Anda pilih, membiarkan tabel Hive yang asli tetap utuh dan tidak diubah. Anda memiliki opsi untuk menjadwalkan pembaruan rutin untuk menerapkan perubahan pada tabel sumber Hive. Tabel Hive yang dikelola atau eksternal Hanya eksternal Anda ingin dengan cepat memutakhirkan tabel Apache Hive Anda ke tabel eksternal di Katalog Unity, dan Anda lebih suka antarmuka visual. Kemampuan untuk menjadwalkan sinkronisasi reguler ketika tabel Apache Hive sumber berubah menjadikannya alat yang berguna untuk mengelola ruang kerja Apache Hive dan Unity Catalog "hibrid" selama transisi ke Katalog Unity.
SYNC perintah SQL SYNC memungkinkan Anda menyalin tabel eksternal dan tabel terkelola (jika tabel terkelola disimpan di luar penyimpanan ruang kerja Databricks, terkadang dikenal sebagai akar DBFS) di metastore Apache Hive Anda ke tabel eksternal di Katalog Unity. Anda dapat menyinkronkan tabel individual atau seluruh skema.
SYNC dirancang untuk dijalankan sesuai jadwal untuk mengambil perubahan baru di metastore Apache Hive dan menyinkronkannya ke Katalog Unity.
Tabel Hive yang dikelola atau eksternal Hanya eksternal Anda ingin dengan cepat memutakhirkan tabel Apache Hive Anda ke tabel eksternal di Unity Catalog, dan Anda lebih suka menggunakan perintah SQL daripada antarmuka visual.
Penjadwalan eksekusi reguler SYNC untuk memperbarui tabel Katalog Unity yang ada ketika tabel Apache Hive sumber berubah menjadikannya alat yang berguna untuk mengelola ruang kerja Apache Hive dan Katalog Unity "hibrid" selama transisi ke Katalog Unity.
Karena Anda tidak dapat menggunakan SYNC untuk meningkatkan tabel terkelola yang ada di penyimpanan ruang kerja Databricks, gunakan CREATE TABLE CLONE untuk tabel tersebut.
CREATE TABLE CLONE perintah SQL CREATE TABLE CLONE memungkinkan Anda meningkatkan tabel yang dikelola di Apache Hive metastore Anda ke tabel yang dikelola di Unity Catalog. Anda dapat mengkloning tabel individual.
Kloning mendalam menyalin data tabel sumber dan metadata ke sasaran kloning.
Tabel Hive yang dikelola dalam format Delta. Hanya dikelola Anda ingin memigrasikan tabel terkelola Apache Hive ke tabel terkelola Unity Catalog untuk memanfaatkan sepenuhnya tata kelola data Katalog Unity, dan tabel Apache Hive Anda memenuhi kriteria yang tercantum dalam sel "Persyaratan tabel Apache Hive".
Jika tabel Apache Hive Anda tidak memenuhi "persyaratan tabel Apache Hive", Anda dapat menggunakan perintah CREATE TABLE AS SELECT SQL untuk meningkatkan tabel Apache Hive ke tabel terkelola Unity Catalog. Namun CLONE hampir selalu disukai. Kloning memiliki sintaks yang lebih sederhana daripada CREATE TABLE AS SELECT: Anda tidak perlu menentukan partisi, format, invarian, nullability, stream, COPY INTO, dan metadata lainnya, karena metadata ini dikloning dari tabel sumber.

Artikel ini menjelaskan cara melakukan semua proses peningkatan, kecuali yang didorong oleh UCX. Databricks merekomendasikan UCX untuk sebagian besar skenario peningkatan ruang kerja. Namun, untuk kasus penggunaan yang lebih sederhana, Anda mungkin lebih suka satu atau beberapa alat yang dijelaskan di sini.

Sebelum Anda memulai

Bagian ini menjelaskan beberapa dampak migrasi yang harus Anda siapkan, bersama dengan izin dan persyaratan komputasi.

Memahami dampaknya

Anda harus menyadari bahwa saat memodifikasi beban kerja untuk menggunakan tabel Unity Catalog baru, Anda mungkin perlu mengubah beberapa perilaku:

  • Katalog Unity mengelola partisi secara berbeda dari Apache Hive. Perintah Apache Hive yang memanipulasi partisi secara langsung tidak didukung pada tabel yang dikelola oleh Katalog Unity.
  • Riwayat tabel tidak dimigrasikan saat Anda menjalankan CREATE TABLE CLONE. Tabel apa pun di metastore Apache Hive yang Anda kloning ke Unity Catalog diperlakukan sebagai tabel baru. Anda tidak dapat melakukan perjalanan waktu Delta Lake atau operasi lain yang mengandalkan riwayat pramigrasi.

Untuk informasi selengkapnya, lihat Bekerja dengan metastore Hive lama bersama Unity Catalog.

Requirements

Untuk melakukan migrasi, Anda harus memiliki:

  • Ruang kerja yang memiliki metastore Unity Catalog dan setidaknya satu katalog Unity Catalog. Lihat Mulai menggunakan Unity Catalog.

  • Hak akses pada katalog Unity Catalog tempat Anda memigrasikan tabel. Persyaratan hak istimewa ini dijumlahkan pada awal setiap prosedur yang tercakup dalam artikel ini.

  • Untuk migrasi ke tabel eksternal Unity Catalog: kredensial penyimpanan dan lokasi eksternal yang ditentukan dalam Unity Catalog, serta hak istimewa CREATE EXTERNAL TABLE pada lokasi eksternal.

  • Akses ke komputasi Azure Databricks yang memenuhi kedua persyaratan berikut:

    • Mendukung Unity Catalog (gudang SQL atau sumber daya komputasi yang menggunakan mode akses standar atau khusus).
    • Memungkinkan akses ke tabel di metastore Apache Hive.

    Karena sumber daya komputasi yang menggunakan mode akses standar diaktifkan untuk kontrol akses tabel warisan secara default, itu berarti bahwa jika Anda menggunakan mode akses tersebut, Anda harus memiliki hak istimewa kontrol akses tabel pada metastore Apache Hive yang Anda migrasikan. Anda dapat memberi diri Anda akses menggunakan perintah SQL berikut:

    GRANT ALL PRIVILEGES ON catalog hive_metastore TO `<user>`
    

    Atau, Anda dapat menggunakan sumber daya komputasi dalam mode akses khusus.

    Note

    Untuk demo memperbarui komputasi untuk Unity Catalog, lihat:

Untuk informasi selengkapnya tentang mengelola hak istimewa pada objek di metastore Apache Hive, lihat Hak istimewa metastore Apache Hive dan objek yang dapat diamankan (warisan). Untuk informasi selengkapnya tentang mengelola hak istimewa pada objek di metastore Katalog Unity, lihat Mengelola hak istimewa di Katalog Unity.

Identifikasi tabel yang dikelola oleh Metastore Hive

Untuk menentukan apakah tabel saat ini terdaftar di Katalog Unity, periksa nama katalog. Tabel dalam katalog hive_metastore terdaftar di metastore Hive lokal-ruang kerja. Katalog lain yang tercantum diatur oleh Katalog Unity.

Untuk menampilkan tabel dalam hive_metastore katalog menggunakan Catalog Explorer:

  1. Klik ikon Data.Katalog di bilah samping.
  2. Di panel katalog, telusuri ke hive_metastore katalog dan perluas simpul skema.

Anda juga bisa mencari tabel tertentu menggunakan bidang filter di panel Katalog.

Meningkatkan skema atau tabel dari metastore Hive ke tabel eksternal Unity Catalog menggunakan wizard upgrade

Anda dapat menyalin skema lengkap (database) dan beberapa tabel eksternal atau terkelola dari metastore default Hive Azure Databricks Anda ke metastore Unity Catalog menggunakan wizard peningkatan Catalog Explorer. Tabel yang ditingkatkan akan menjadi tabel eksternal di Katalog Unity.

Untuk bantuan memutuskan kapan menggunakan wizard pemutakhiran, lihat Opsi migrasi Hive ke Unity Catalog.

Requirements

Persyaratan format data:

Persyaratan komputasi:

Persyaratan objek dan izin Katalog Unity:

  • Kredensial penyimpanan untuk identitas terkelola Azure atau perwakilan layanan yang mengotorisasi Katalog Unity untuk mengakses jalur lokasi tabel.
  • Buat lokasi eksternal yang mereferensikan kredensial penyimpanan yang baru saja Anda buat dan jalur ke data pada penyewa cloud Anda.
  • CREATE EXTERNAL TABLE izin pada lokasi eksternal tabel yang akan diperbarui.

Persyaratan akses tabel Hive:

  • Jika komputasi Anda menggunakan mode akses standar, Anda memerlukan akses ke tabel di metastore Hive, yang diperoleh melalui kontrol akses tabel warisan. Lihat Sebelum Anda mulai.

Proses peningkatan

  1. Klik ikon Data.Katalog di bar samping untuk membuka Penjelajah Katalog.

  2. Pilih hive_metastore sebagai katalog Anda serta pilih skema (database) yang ingin Anda tingkatkan.

    Pilih database

  3. Klik Tingkatkan di sebelah kanan atas tampilan detail skema.

  4. Pilih semua tabel yang ingin ditingkatkan dan klik Berikutnya.

    Hanya tabel eksternal dalam format yang didukung oleh Katalog Unity yang dapat ditingkatkan menggunakan panduan peningkatan. Lihat Bekerja dengan tabel eksternal.

  5. Atur katalog tujuan, skema (database), dan pemilik untuk setiap tabel.

    Pengguna akan dapat mengakses tabel yang baru dibuat dalam konteks hak istimewa mereka pada katalog dan skema.

    Pemilik tabel memiliki semua hak istimewa pada tabel, termasuk SELECT dan MODIFY. Jika Anda tidak memilih pemilik, tabel terkelola dibuat dengan Anda sebagai pemilik. Databricks umumnya merekomendasikan agar Anda memberikan kepemilikan tabel kepada grup. Untuk mempelajari selengkapnya tentang kepemilikan objek di Unity Catalog, lihat Mengelola kepemilikan objek.

    Untuk menetapkan katalog dan skema yang sama ke beberapa tabel, pilih tabel dan klik tombol Atur tujuan .

    Untuk menetapkan pemilik yang sama ke beberapa tabel, pilih tabel dan klik tombol Atur pemilik .

  6. Tinjau konfigurasi tabel. Untuk mengubahnya, harap klik tombol Sebelumnya.

  7. Klik Jalankan pemutakhiran untuk segera menjalankan pemutakhiran atau klik Buat buku catatan untuk pemutakhiran.

    Jika Anda membuat buku catatan untuk pemutakhiran, beri nama buku catatan Anda dan pilih jalur untuk menyimpannya. Kemudian jalankan buku catatan.

    Setelah peningkatan selesai, metadata setiap tabel telah disalin dari metastore Apache Hive ke Katalog Unity. Tabel ini diberi tanda telah dimutakhirkan pada wizard pemutakhiran.

  8. Tentukan kontrol akses detail dengan tab Izin dari setiap tabel baru.

  9. (Opsional) Tambahkan komentar ke setiap tabel Apache Hive yang ditingkatkan yang mengarahkan pengguna ke tabel Katalog Unity baru.

    Kembali ke tabel asli dalam hive.metastore katalog untuk menambahkan komentar tabel.

    Jika Anda menggunakan sintaks berikut dalam kueri komentar tabel, buku catatan, dan editor kueri SQL yang mereferensikan tabel Apache Hive yang tidak digunakan lagi akan menampilkan nama tabel yang tidak digunakan lagi menggunakan teks coretan, menampilkan komentar sebagai peringatan, dan menyediakan tautan Perbaikan Cepat ke Kode Genie, yang dapat memperbarui kode Anda untuk mereferensikan tabel baru.

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

    Lihat Panduan untuk menambahkan komentar yang menunjukkan bahwa tabel Hive telah dimigrasikan.

  10. Ubah beban kerja Anda untuk menggunakan tabel baru.

    Jika Anda menambahkan komentar ke tabel Apache Hive asli seperti yang tercantum dalam langkah opsional sebelumnya, Anda dapat menggunakan Kode Genie untuk membantu Anda menemukan dan memodifikasi beban kerja. Lihat Menggunakan Kode Genie untuk memperbarui referensi tabel yang tidak digunakan lagi.

    Note

    Jika Anda tidak lagi memerlukan tabel lama, Anda dapat menghapusnya dari metastore Apache Hive. Menghilangkan tabel eksternal tidak mengubah file data di penyewa cloud Anda.

Meningkatkan tabel Hive ke tabel eksternal Unity Catalog menggunakan SYNC

Anda dapat menggunakan SYNC perintah SQL untuk menyalin tabel eksternal di metastore Apache Hive Anda ke tabel eksternal di Katalog Unity. Anda dapat menyinkronkan tabel individual atau seluruh skema.

Anda juga dapat menggunakan SYNC untuk menyalin tabel terkelola Hive yang disimpan di luar penyimpanan ruang kerja Databricks (terkadang disebut root DBFS) ke tabel eksternal di Unity Catalog. Anda tidak dapat menggunakannya untuk menyalin tabel terkelola Apache Hive yang disimpan di penyimpanan ruang kerja. Untuk menyalin tabel tersebut, gunakan CREATE TABLE CLONE sebagai gantinya.

Perintah SYNC melakukan operasi tulis ke setiap tabel asal yang diupgrade untuk menambahkan properti tabel tambahan guna pembukuan, termasuk mencatat tabel eksternal Katalog Unity target.

SYNC juga dapat digunakan untuk memperbarui tabel Katalog Unity yang ada saat tabel sumber di metastore Apache Hive diubah. Ini menjadikannya alat yang baik untuk transisi ke Unity Catalog secara bertahap.

Untuk detailnya, lihat SYNC. Untuk bantuan memutuskan kapan menggunakan wizard pemutakhiran, lihat Opsi migrasi Hive ke Unity Catalog.

Requirements

Persyaratan format data:

Persyaratan komputasi:

Persyaratan objek dan izin Katalog Unity:

  • Kredensial penyimpanan untuk identitas terkelola Azure atau perwakilan layanan yang mengotorisasi Katalog Unity untuk mengakses jalur lokasi tabel.
  • Buat lokasi eksternal yang mereferensikan kredensial penyimpanan yang baru saja Anda buat dan jalur ke data pada penyewa cloud Anda.
  • CREATE EXTERNAL TABLE izin pada lokasi eksternal tabel yang akan diperbarui.

Persyaratan akses tabel Hive:

  • Jika komputasi Anda menggunakan mode akses standar, Anda memerlukan akses ke tabel di metastore Hive, yang diperoleh melalui kontrol akses tabel warisan. Lihat Sebelum Anda mulai.

Proses peningkatan

Untuk meningkatkan tabel di metastore Apache Hive Anda ke tabel eksternal Unity Catalog menggunakan SYNC:

  1. Di buku catatan atau editor kueri SQL, jalankan salah satu hal berikut ini:

    Sinkronisasi tabel eksternal Hive:

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

    Menyinkronkan skema Hive eksternal dan semua tabelnya:

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

    Sinkronkan tabel Apache Hive terkelola yang disimpan di luar penyimpanan ruang kerja Databricks:

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

    Sinkronkan skema yang berisi tabel Apache Hive terkelola yang disimpan di luar penyimpanan ruang kerja Databricks:

    SYNC SCHEMA <uc-catalog>.<new-schema> AS EXTERNAL FROM hive_metastore.<source-schema>
    SET OWNER <principal>;
    
  2. Berikan akses pengguna atau grup tingkat akun ke tabel baru. Lihat Mengelola hak istimewa di Unity Catalog.

  3. (Opsional) Tambahkan komentar ke tabel Apache Hive asli yang mengarahkan pengguna ke tabel Katalog Unity baru.

    Kembali ke tabel asli dalam hive.metastore katalog untuk menambahkan komentar tabel. Untuk mempelajari cara menambahkan komentar tabel menggunakan Catalog Explorer, lihat Menambahkan komentar ke data dan aset AI. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat COMMENT ON.

    Jika Anda menggunakan sintaks berikut dalam kueri komentar tabel, buku catatan, dan editor kueri SQL yang mereferensikan tabel Apache Hive yang tidak digunakan lagi akan menampilkan nama tabel yang tidak digunakan lagi menggunakan teks coretan, menampilkan komentar sebagai peringatan, dan menyediakan tautan Perbaikan Cepat ke Kode Genie, yang dapat memperbarui kode Anda untuk mereferensikan tabel baru.

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

    Lihat Panduan untuk menambahkan komentar yang menunjukkan bahwa tabel Hive telah dimigrasikan.

  4. Setelah tabel dimigrasikan, pengguna harus memperbarui kueri dan beban kerja yang sudah ada untuk menggunakan tabel baru.

    Jika Anda menambahkan komentar ke tabel Apache Hive asli seperti yang tercantum dalam langkah opsional sebelumnya, Anda dapat menggunakan Kode Genie untuk membantu Anda menemukan dan memodifikasi beban kerja. Lihat Menggunakan Kode Genie untuk memperbarui referensi tabel yang tidak digunakan lagi.

  5. Sebelum menghilangkan tabel lama, ujilah dependensi dengan mencabut akses ke sana dan jalankan kembali kueri dan beban kerja terkait.

    Jangan hapus tabel lama jika Anda masih mengandalkan komentar deprecasi untuk membantu Anda menemukan dan memperbarui kode yang ada yang merujuk tabel lama. Demikian juga, jangan hapus tabel lama jika tabel tersebut telah berubah sejak sinkronisasi asli Anda: SYNC dapat digunakan untuk memperbarui tabel Katalog Unity yang ada dengan perubahan dari tabel Apache Hive sumber.

Meningkatkan tabel terkelola Apache Hive ke tabel terkelola Unity Catalog menggunakan CLONE

Gunakan CREATE TABLE CLONE untuk meningkatkan tabel Delta terkelola di metastore Apache Hive Anda ke tabel terkelola di Katalog Unity. Anda dapat mengkloning tabel individual. Anda harus menggunakan klon mendalam saat mengkloning tabel dari metastore Hive lama ke Unity Catalog.

Untuk bantuan dalam memutuskan kapan harus menggunakan CLONE, lihat Opsi migrasi Apache Hive ke Unity Catalog. Untuk informasi selengkapnya tentang CLONE, lihat Mengkloning tabel di Azure Databricks.

Requirements

Persyaratan format data:

  • Tabel Hive yang dikelola dalam format Delta.

Persyaratan komputasi:

Persyaratan izin:

  • Hak USE CATALOG dan USE SCHEMA pada katalog dan skema tempat Anda menambahkan tabel, serta hak CREATE TABLE pada skema, atau Anda harus menjadi pemilik katalog atau skema. Lihat Referensi hak istimewa Katalog Unity.
  • Jika komputasi Anda menggunakan mode akses standar, Anda memerlukan akses ke tabel di metastore Hive, yang diperoleh melalui kontrol akses tabel warisan. Lihat Sebelum Anda mulai.

Proses peningkatan

Untuk meningkatkan tabel terkelola di metastore Apache Hive Anda ke tabel terkelola di Unity Catalog:

  1. Di buku catatan atau editor kueri SQL, jalankan salah satu hal berikut ini:

    Penggandaan mendalam tabel yang dikelola di metastore Hive.

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

    Untuk informasi tentang parameter tambahan, termasuk properti tabel, lihat CREATE TABLE CLONE.

  2. Berikan akses pengguna atau grup tingkat akun ke tabel baru. Lihat Mengelola hak istimewa di Unity Catalog.

  3. (Opsional) Tambahkan komentar ke tabel Apache Hive asli yang mengarahkan pengguna ke tabel Katalog Unity baru.

    Kembali ke tabel asli dalam hive.metastore katalog untuk menambahkan komentar tabel. Untuk mempelajari cara menambahkan komentar tabel menggunakan Catalog Explorer, lihat Menambahkan komentar ke data dan aset AI. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat COMMENT ON.

    Jika Anda menggunakan sintaks berikut dalam kueri komentar tabel, buku catatan, dan editor kueri SQL yang mereferensikan tabel Apache Hive yang tidak digunakan lagi akan menampilkan nama tabel yang tidak digunakan lagi menggunakan teks coretan, menampilkan komentar sebagai peringatan, dan menyediakan tautan Perbaikan Cepat ke Kode Genie, yang dapat memperbarui kode Anda untuk mereferensikan tabel baru.

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

    Lihat Panduan untuk menambahkan komentar yang menunjukkan bahwa tabel Hive telah dimigrasikan.

  4. Setelah tabel dimigrasikan, pengguna harus memperbarui kueri dan beban kerja yang sudah ada untuk menggunakan tabel baru.

    Jika Anda menambahkan komentar ke tabel Apache Hive asli seperti yang tercantum dalam langkah opsional sebelumnya, Anda dapat menggunakan Kode Genie untuk membantu Anda menemukan dan memodifikasi beban kerja. Lihat Menggunakan Kode Genie untuk memperbarui referensi tabel yang tidak digunakan lagi.

  5. Sebelum menghilangkan tabel lama, ujilah dependensi dengan mencabut akses ke sana dan jalankan kembali kueri dan beban kerja terkait.

    Jangan hapus tabel lama jika Anda masih mengandalkan komentar deprecasi untuk membantu Anda menemukan dan memperbarui kode yang ada yang merujuk tabel lama. Demikian juga, jangan hapus tabel lama jika Anda melakukan kloning tidak mendalam. Klon-kolon dangkal merujuk data dari tabel Apache Hive sumber.

Meningkatkan tabel Hive ke tabel terkelola Unity Catalog menggunakan CREATE TABLE AS SELECT

Jika Anda tidak dapat menggunakan atau memilih untuk tidak menggunakan CREATE TABLE CLONE untuk memigrasikan tabel di metastore Apache Hive Anda ke tabel terkelola di Katalog Unity, Anda bisa membuat tabel terkelola baru di Katalog Unity dengan mengkueri tabel Apache Hive menggunakan CREATE TABLE AS SELECT. Untuk informasi tentang perbedaan antara CREATE TABLE CLONE dan CREATE TABLE AS SELECT, lihat Opsi migrasi Apache Hive ke Unity Catalog.

Untuk demo peningkatan tabel terkelola menggunakan CREATE TABLE AS SELECT, lihat Tabel Terkelola Pada HMS Tanpa SYNC.

Requirements

Persyaratan komputasi:

Persyaratan izin:

  • Hak USE CATALOG dan USE SCHEMA pada katalog dan skema tempat Anda menambahkan tabel, serta hak CREATE TABLE pada skema, atau Anda harus menjadi pemilik katalog atau skema. Lihat Referensi hak istimewa Katalog Unity.
  • Jika komputasi Anda menggunakan mode akses standar, Anda memerlukan akses ke tabel di metastore Hive, yang diperoleh melalui kontrol akses tabel warisan. Lihat Sebelum Anda mulai.

Proses peningkatan

Untuk meningkatkan tabel di metastore Apache Hive Anda ke tabel terkelola di Unity Catalog menggunakan CREATE TABLE AS SELECT:

  1. Buat tabel Unity Catalog baru dengan mengkueri tabel yang sudah ada. Ganti nilai tempat penampung:

    • <uc-catalog>: Katalog Unity untuk tabel baru.
    • <uc-schema>: Skema Unity Catalog untuk tabel baru.
    • <new-table>: Nama untuk tabel Unity Catalog.
    • <source-schema>: Skema untuk tabel Hive, seperti default.
    • <source-table>: Nama tabel Apache Hive.

    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>"
    )
    

    Jika Anda hanya ingin memigrasikan beberapa kolom atau baris, ubah pernyataan SELECT.

    Note

    Perintah yang disajikan di sini membuat tabel terkelola tempat data disalin ke lokasi penyimpanan terkelola khusus. Jika Anda ingin membuat tabel eksternal, di mana tabel terdaftar di Unity Catalog tanpa memindahkan data dari penyimpanan cloud, lihat Memperbarui skema atau tabel dari metastore Apache Hive ke tabel eksternal Unity Catalog menggunakan wizard pembaruan. Lihat juga Menentukan lokasi penyimpanan terkelola di Katalog Unity.

  2. Berikan akses pengguna atau grup tingkat akun ke tabel baru. Lihat Mengelola hak istimewa di Unity Catalog.

  3. (Opsional) Tambahkan komentar ke tabel Apache Hive asli yang mengarahkan pengguna ke tabel Katalog Unity baru.

    Kembali ke tabel asli dalam hive.metastore katalog untuk menambahkan komentar tabel. Untuk mempelajari cara menambahkan komentar tabel menggunakan Catalog Explorer, lihat Menambahkan komentar ke data dan aset AI. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat COMMENT ON.

    Jika Anda menggunakan sintaks berikut dalam kueri komentar tabel, buku catatan, dan editor kueri SQL yang mereferensikan tabel Apache Hive yang tidak digunakan lagi akan menampilkan nama tabel yang tidak digunakan lagi menggunakan teks coretan, menampilkan komentar sebagai peringatan, dan menyediakan tautan Perbaikan Cepat ke Kode Genie, yang dapat memperbarui kode Anda untuk mereferensikan tabel baru.

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

    Lihat Panduan untuk menambahkan komentar yang menunjukkan bahwa tabel Hive telah dimigrasikan.

  4. Setelah tabel dimigrasikan, pengguna harus memperbarui kueri dan beban kerja yang sudah ada untuk menggunakan tabel baru.

    Jika Anda menambahkan komentar ke tabel Apache Hive asli seperti yang tercantum dalam langkah opsional sebelumnya, Anda dapat menggunakan Kode Genie untuk membantu Anda menemukan dan memodifikasi beban kerja. Lihat Menggunakan Kode Genie untuk memperbarui referensi tabel yang tidak digunakan lagi.

  5. Sebelum menghilangkan tabel lama, ujilah dependensi dengan mencabut akses ke sana dan jalankan kembali kueri dan beban kerja terkait.

    Jangan hapus tabel lama jika Anda masih mengandalkan komentar deprecasi untuk membantu Anda menemukan dan memperbarui kode yang ada yang merujuk tabel lama.

Meningkatkan tampilan untuk Unity Catalog

Setelah meningkatkan semua tabel yang dirujuk oleh tampilan ke metastore Unity Catalog yang sama, Anda bisa membuat tampilan baru yang mereferensikan tabel baru.

Tambahkan komentar untuk menunjukkan bahwa tabel Apache Hive telah dimigrasikan

Saat Anda menambahkan komentar ke tabel Apache Hive yang tidak digunakan lagi, yang mengarahkan pengguna ke tabel Unity Catalog baru, notebook dan kueri editor SQL yang mereferensikan tabel Apache Hive yang tidak digunakan lagi akan menampilkan nama tabel tersebut menggunakan teks coretan, menampilkan komentar sebagai peringatan, dan menyediakan tautan Quick Fix ke Kode Genie, yang dapat memperbarui kode Anda untuk mereferensikan tabel baru.

Peringatan penghapusan tabel Apache Hive

Komentar Anda harus menggunakan format berikut:

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

Untuk mempelajari cara menambahkan komentar tabel menggunakan Catalog Explorer, lihat Menambahkan komentar ke data dan aset AI. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat COMMENT ON.

Menggunakan Kode Genie untuk memperbarui referensi tabel yang tidak digunakan lagi

Anda dapat menggunakan Kode Genie untuk mengganti referensi ke tabel metastore Hive yang tidak digunakan lagi dengan setara Katalog Unity. Kode Genie memiliki kemampuan pencarian tabel tingkat lanjut yang dapat menemukan tabel Katalog Unity yang setara bahkan jika Anda tidak tahu di mana katalog Anda berada. Minta Genie Code untuk mengganti hive_metastore tabel dengan tabel yang setara di Unity Catalog, dan mencari katalog Anda, mengidentifikasi kecocokan terbaik berdasarkan kesamaan skema, dan memperbarui kode Anda.

Menggunakan Kode Genie untuk mengganti tabel metastore Apache Hive dengan UC yang setara.

Lihat juga Menggunakan Kode Genie.