Meningkatkan tabel dan tampilan Apache Hive ke Katalog Unity

Artikel ini menjelaskan cara meningkatkan tabel dan tampilan yang terdaftar di metastore Apache Hive lokal ruang kerja yang ada ke Katalog Unity. 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 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 terkelola yang dipesan.

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

Opsi migrasi Apache 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 Deskripsi Persyaratan tabel Apache 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 Apache Hive terkelola atau eksternal Terkelola atau eksternal Anda menginginkan alat perencanaan peningkatan ruang kerja komprehensif yang melampaui peningkatan tabel Apache Hive ke Unity Catalog. Anda ingin meningkatkan ruang kerja yang memiliki data dalam jumlah besar di metastore Apache 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.
Wizard 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 Apache Hive asli tetap utuh. Anda memiliki opsi untuk menjadwalkan peningkatan reguler untuk mengambil perubahan pada tabel Apache Hive sumber. Tabel Apache Hive terkelola 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.
Perintah SYNC 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 Apache Hive terkelola 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.
Perintah CREATE TABLE CLONE SQL CREATE TABLE CLONE memungkinkan Anda meningkatkan tabel terkelola di metastore Apache Hive Anda ke tabel terkelola di Katalog Unity. Anda dapat mengkloning tabel individual.

Klon mendalam lebih disukai, karena menyalin data tabel sumber ke target kloning selain metadata tabel yang ada.
Tabel Apache Hive terkelola yang dalam format Delta, Parquet, atau Iceberg. Kloning tabel sumber Parquet dan Iceberg memiliki beberapa persyaratan dan batasan khusus: lihat Persyaratan dan batasan untuk mengkloning tabel Parquet dan Iceberg. Dikelola saja 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 Katalog Unity. 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 kecuali proses peningkatan berbasis 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 Katalog Unity dan metastore Apache Hive warisan.

Persyaratan

Untuk melakukan migrasi, Anda harus memiliki:

  • Ruang kerja yang memiliki metastore Katalog Unity dan setidaknya satu katalog Katalog Unity. Lihat Menyiapkan dan mengelola Katalog Unity.

  • Hak istimewa 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 Katalog Unity, dan CREATE EXTERNAL TABLE hak istimewa 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 pengguna tunggal atau bersama).
    • Memungkinkan akses ke tabel di metastore Apache Hive.

    Karena sumber daya komputasi yang menggunakan mode akses bersama 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 pengguna tunggal.

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.

Mengidentifikasi tabel yang dikelola oleh metastore Apache Hive

Untuk menentukan apakah tabel saat ini terdaftar di Katalog Unity, periksa nama katalog. Tabel dalam katalog hive_metastore terdaftar di metastore Apache 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 katalogKatalog 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 beberapa tabel dari metastore Apache Hive ke tabel eksternal Unity Catalog menggunakan wizard pemutakhiran

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

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

Persyaratan

Persyaratan format data:

Persyaratan komputasi:

Objek Katalog Unity dan persyaratan izin:

  • 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 Apache Hive:

  • Jika komputasi Anda menggunakan mode akses bersama, Anda memerlukan akses ke tabel di metastore Apache Hive, diberikan menggunakan kontrol akses tabel warisan. Lihat Sebelum Anda mulai.

Proses peningkatan

  1. Klik Ikon katalogKatalog di bilah 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 wizard peningkatan.

  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 Katalog Unity, lihat Mengelola kepemilikan objek Katalog Unity.

    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 Buat Kueri bagi Peningkatan.

    Editor kueri akan muncul dengan pernyataan SQL.

  8. Jalankan kueri.

    Setelah kueri selesai, metadata setiap tabel akan disalin dari metastore Apache Hive ke Katalog Unity. Tabel ini akan ditandai sebagai dimutakhirkan dalam wizard pemutakhiran.

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

  10. (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 Asisten Databricks, 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 Menambahkan komentar untuk menunjukkan bahwa tabel Apache Hive telah dimigrasikan.

  11. 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 tautan Perbaikan Cepat dan Asisten Databricks untuk membantu Anda menemukan dan memodifikasi beban kerja.

Memutakhirkan satu tabel Apache Hive ke tabel eksternal Unity Catalog menggunakan wizard pemutakhiran

Anda dapat menyalin satu tabel dari metastore Apache Hive default Anda ke metastore Katalog Unity menggunakan wizard peningkatan di Catalog Explorer

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

Persyaratan

Persyaratan format data:

Persyaratan komputasi:

Objek Katalog Unity dan persyaratan izin:

  • 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.

Proses peningkatan

Untuk meningkatkan tabel eksternal:

  1. Klik Ikon katalogKatalog di bilah samping untuk membuka Penjelajah Katalog.

  2. Pilih database, lalu tabel yang ingin Anda tingkatkan.

  3. Klik Tingkatkan di sudut kanan atas tampilan detail tabel.

  4. Pilih tabel untuk dimutakhirkan dan klik Berikutnya.

  5. Pilih katalog tujuan, skema (database), dan pemilik Anda.

    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 Katalog Unity, lihat Mengelola kepemilikan objek Katalog Unity.

  6. Klik Tingkatkan di sudut kanan atas tampilan detail tabel.

  7. Pilih tabel untuk dimutakhirkan dan klik Berikutnya.

    Metadata tabel sekarang disalin ke Katalog Unity, dan tabel baru telah dibuat. Sekarang Anda dapat menggunakan tab Izin untuk menentukan kontrol akses terperintah.

  8. Gunakan tab Izin untuk menentukan kontrol akses halus.

  9. (Opsional) Tambahkan komentar ke tabel Apache Hive 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 Asisten Databricks, 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 Menambahkan komentar untuk menunjukkan bahwa tabel Apache Hive telah dimigrasikan.

  10. Ubah beban kerja yang ada untuk menggunakan tabel baru.

    Jika Anda menambahkan komentar ke tabel Apache Hive asli seperti yang tercantum dalam langkah opsional sebelumnya, Anda dapat menggunakan tautan Perbaikan Cepat dan Asisten Databricks untuk membantu Anda menemukan dan memodifikasi beban kerja.

    Catatan

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

Meningkatkan tabel Apache 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 Apache Hive yang disimpan di luar penyimpanan ruang kerja Databricks (terkadang disebut Akar 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 sumber yang ditingkatkannya untuk menambahkan properti tabel tambahan untuk pembukuan, termasuk catatan 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 dalam memutuskan kapan menggunakan wizard pemutakhiran, lihat Opsi migrasi Apache Hive ke Unity Catalog.

Persyaratan

Persyaratan format data:

Persyaratan komputasi:

Objek Katalog Unity dan persyaratan izin:

  • 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 Apache Hive:

  • Jika komputasi Anda menggunakan mode akses bersama, Anda memerlukan akses ke tabel di metastore Apache Hive, diberikan menggunakan 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:

    Sinkronkan tabel Apache Hive eksternal:

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

    Sinkronkan skema Apache 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 markdown ke objek data menggunakan Catalog Explorer. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat KOMENTAR AKTIF.

    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 Asisten Databricks, 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 Menambahkan komentar untuk menunjukkan bahwa tabel Apache 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 tautan Perbaikan Cepat dan Asisten Databricks untuk membantu Anda menemukan dan memodifikasi beban kerja.

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

    Jangan letakkan tabel lama jika Anda masih mengandalkan komentar penghentian untuk membantu Anda menemukan dan memperbarui kode yang ada yang mereferensikan tabel lama. Demikian juga, jangan letakkan 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 terkelola di metastore Apache Hive Anda ke tabel terkelola di Unity Catalog. Anda dapat mengkloning tabel individual. Klon mendalam menyalin data tabel sumber ke target kloning selain metadata tabel yang ada. Gunakan klon mendalam jika Anda berniat untuk menghilangkan tabel sumber Apache Hive. Kloning dangkal tidak menyalin file data ke target kloning tetapi memberikan akses ke file tersebut dengan merujuk ke data sumber: metadata tabel setara dengan sumbernya. Kloning dangkal lebih murah untuk dibuat tetapi mengharuskan pengguna yang mengkueri data di target kloning juga memiliki akses ke data sumber.

Untuk bantuan dalam memutuskan kapan harus menggunakan CLONE, lihat Opsi migrasi Apache Hive ke Unity Catalog. Untuk bantuan dalam memutuskan jenis kloning mana yang akan digunakan, lihat Mengkloning tabel di Azure Databricks.

Persyaratan

Persyaratan format data:

  • Tabel Apache Hive terkelola dalam format Delta, Parquet, atau Iceberg. Kloning tabel sumber Parquet dan Iceberg memiliki beberapa persyaratan dan batasan khusus. Lihat Persyaratan dan batasan untuk mengkloning tabel Parquet dan Iceberg.

Persyaratan komputasi:

Persyaratan izin:

  • Hak USE CATALOG istimewa dan USE SCHEMA pada katalog dan skema yang Anda tambahkan tabel, bersama dengan CREATE TABLE pada skema, atau Anda harus menjadi pemilik katalog atau skema. Lihat Hak istimewa Unity Catalog dan objek yang dapat diamankan.
  • Jika komputasi Anda menggunakan mode akses bersama, Anda memerlukan akses ke tabel di metastore Apache Hive, diberikan menggunakan 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:

    Kloning mendalam tabel terkelola di metastore Apache Hive:

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

    Kloning dangkal tabel terkelola di metastore Apache Hive:

    CREATE OR REPLACE TABLE <uc-catalog>.<uc-schema>.<new-table>
    SHALLOW 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 markdown ke objek data menggunakan Catalog Explorer. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat KOMENTAR AKTIF.

    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 Asisten Databricks, 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 Menambahkan komentar untuk menunjukkan bahwa tabel Apache 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 tautan Perbaikan Cepat dan Asisten Databricks untuk membantu Anda menemukan dan memodifikasi beban kerja.

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

    Jangan letakkan tabel lama jika Anda masih mengandalkan komentar penghentian untuk membantu Anda menemukan dan memperbarui kode yang ada yang mereferensikan tabel lama. Demikian juga, jangan letakkan tabel lama jika Anda melakukan kloning dangkal. Klon data referensi kloning dangkal dari tabel Apache Hive sumber.

Meningkatkan tabel Apache Hive ke tabel terkelola Katalog Unity 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.

Persyaratan

Persyaratan komputasi:

Persyaratan izin:

  • Hak USE CATALOG istimewa dan USE SCHEMA pada katalog dan skema yang Anda tambahkan tabel, bersama dengan CREATE TABLE pada skema, atau Anda harus menjadi pemilik katalog atau skema. Lihat Hak istimewa Unity Catalog dan objek yang dapat diamankan.
  • Jika komputasi Anda menggunakan mode akses bersama, Anda memerlukan akses ke tabel di metastore Apache Hive, diberikan menggunakan 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 Catalog untuk tabel baru.
    • <uc-schema>: Skema Unity Catalog untuk tabel baru.
    • <new-table>: Nama untuk tabel Unity Catalog.
    • <source-schema>: Skema untuk tabel Apache 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.

    Catatan

    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 Katalog Unity tanpa memindahkan data di penyimpanan cloud, lihat Meningkatkan satu tabel Apache Hive ke tabel eksternal Katalog Unity menggunakan wizard pemutakhiran. 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 markdown ke objek data menggunakan Catalog Explorer. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat KOMENTAR AKTIF.

    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 Asisten Databricks, 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 Menambahkan komentar untuk menunjukkan bahwa tabel Apache 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 tautan Perbaikan Cepat dan Asisten Databricks untuk membantu Anda menemukan dan memodifikasi beban kerja.

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

    Jangan letakkan tabel lama jika Anda masih mengandalkan komentar penghentian untuk membantu Anda menemukan dan memperbarui kode yang ada yang mereferensikan tabel lama.

Meningkatkan tampilan untuk Unity Catalog

Setelah meningkatkan semua tabel referensi tampilan pada metastore Unity Catalog yang sama, Anda dapat 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 Katalog Unity, buku catatan, dan kueri kueri 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 Asisten Databricks, yang dapat memperbarui kode Anda untuk mereferensikan tabel baru.

Peringatan penghentian 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 markdown ke objek data menggunakan Catalog Explorer. Untuk mempelajari cara menambahkan komentar tabel menggunakan pernyataan SQL di buku catatan atau editor kueri SQL, lihat KOMENTAR AKTIF.

Menggunakan Asisten Databricks untuk memperbarui referensi tabel yang tidak digunakan lagi

Jika Anda melihat teks coretan pada nama tabel di sel buku catatan atau pernyataan di editor kueri SQL, arahkan mouse ke atas nama tabel untuk mengungkapkan pemberitahuan peringatan. Jika pemberitahuan peringatan tersebut menjelaskan tabel sebagai tidak digunakan lagi dan menampilkan nama tabel baru, klik Perbaikan Cepat, diikuti dengan Perbaiki Penghentian. Asisten Databricks terbuka, menawarkan untuk mengganti nama tabel yang tidak digunakan lagi dengan nama tabel Unity Catalog baru. Ikuti perintah untuk menyelesaikan tugas.

Video memperlihatkan pembaruan tabel Apache Hive menggunakan Asisten Databricks

Lihat juga Menggunakan Asisten Databricks.