UBAH BAGIKAN

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS dan di atas centang ditandai ya Unity Catalog saja

Menambahkan, mengubah, atau menghapus skema, tabel, tampilan materialisasi, atau tampilan ke atau dari berbagi. Mengganti nama berbagi. Mentransfer kepemilikan share ke prinsipal baru.

Izin diperlukan:

  • Untuk memperbarui pemilik berbagi, Anda harus menjadi salah satu hal berikut: admin metastore, pemilik objek berbagi, atau pengguna dengan USE SHARE hak istimewa dan SET SHARE PERMISSION .
  • Untuk memperbarui nama berbagi, Anda harus menjadi admin metastore (atau pengguna dengan CREATE_SHARE hak istimewa) dan berbagi pemilik.
  • Untuk menambahkan tabel atau tampilan, Anda harus menjadi pemilik objek berbagi, memiliki USE SCHEMA pada skema yang berisi tabel atau tampilan, dan SELECT hak istimewa pada tabel atau tampilan. Anda harus mempertahankan SELECT hak istimewa selama Anda ingin berbagi tabel atau tampilan.
  • Untuk memperbarui properti berbagi lainnya, Anda harus menjadi pemiliknya.

Sintaksis

ALTER SHARE share_name
  { alter_add_materialized_view |
    REMOVE MATERIALIZED VIEW mat_view_name |
    alter_add_table |
    REMOVE TABLE table_name |
    alter_add_schema |
    REMOVE SCHEMA schema_name |
    alter_add_view |
    REMOVE VIEW view_name |
    alter_add_model |
    REMOVE MODEL model_name |
    RENAME TO to_share_name |
    [ SET ] OWNER TO principal }

alter_add_materialized_view
  { { ALTER | ADD } MATERIALIZED VIEW mat_view_name [ COMMENT comment ] [ AS mat_view_share_name ]

alter_add_table
  { { ALTER | ADD } [ TABLE ] table_name [ COMMENT comment ]
        [ PARTITION clause ] [ AS table_share_name ]
        [ WITH HISTORY | WITHOUT HISTORY ] }

alter_add_schema
  { { ALTER | ADD } SCHEMA schema_name [ COMMENT comment ]

alter_add_view
  { { ALTER | ADD } VIEW view_name [ COMMENT comment ] [ AS view_share_name ]

alter_add_model
  { { ALTER | ADD } VIEW model_name [ COMMENT comment ] [ AS model_share_name ]

Catatan

WITH HISTORY | WITHOUT HISTORY didukung di centang ditandai ya Databricks Runtime 12.2 LTS ke atas. Databricks Runtime versi 11.1 hingga 12.0 mengharuskan Anda menentukan WITH CHANGE DATA FEED [ START VERSION version ] ] alih-alih WITH HISTORY.

WITH CHANGE DATA FEED tidak digunakan lagi.

Perhatikan juga bahwa jika, selain melakukan kueri perjalanan waktu dan streaming bacaan, Anda ingin pelanggan Anda dapat mengkueri umpan data perubahan tabel (CDF) menggunakan fungsi table_changes(), Anda harus mengaktifkan CDF pada tabel sebelum Anda membagikannya WITH HISTORY (atau WITH CHANGE DATA FEED).

Parameter

  • share_name

    Nama share yang akan diubah.

  • alter_add_materialized_view

    Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

    Penting

    Fitur ini ada di Pratinjau Pribadi. Untuk mencobanya, hubungi kontak Azure Databricks Anda.

    Menambahkan tampilan materialisasi ke berbagi atau memodifikasi tampilan materialisasi bersama yang ada. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi dan memiliki SELECT hak istimewa pada tampilan materialisasi.

    • ADD MATERIALIZED VIEW mat_view_name

      Mengidentifikasi tampilan materialisasi yang akan ditambahkan. Jika tampilan materialisasi tidak dapat ditemukan, Azure Databricks menimbulkan kesalahan TABLE_OR_VIEW_NOT_FOUND .

    • ALTER MATERIALIZED VIEW mat_view_name

      Mengidentifikasi tampilan materialisasi yang akan diubah. Jika tampilan materialisasi belum menjadi bagian dari berbagi, Azure Databricks menimbulkan kesalahan.

    • COMMENT comment

      Literal opsional STRING yang dilampirkan ke berbagi tampilan materialisasi sebagai komentar.

    • AS mat_view_share_name

      Secara opsional mengekspos tampilan materialisasi dengan nama yang berbeda. Nama dapat memenuhi syarat dengan nama skema. Jika tidak mat_view_share_name ditentukan, tampilan materialisasi diketahui dengan nama sendiri.

      Jika nama bersama sudah ada, Azure Databricks menimbulkan kesalahan.

    • REMOVE MATERIALIZED VIEW mat_view_name

      Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

      Hapus tampilan materialisasi yang diidentifikasi oleh mat_view_name dari berbagi. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi.

    • alter_add_table

      Menambahkan tabel atau partisi tabel ke berbagi atau memodifikasi tabel bersama yang sudah ada. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi dan memiliki hak istimewa SELECT pada tabel.

      • ADD [ TABLE ] table_name

        Mengidentifikasi tabel yang akan ditambahkan. Tabel tidak boleh berada di Katalog Unity. Jika tabel tidak dapat ditemukan, Azure Databricks menimbulkan kesalahan TABLE_OR_VIEW_NOT_FOUND .

      • ALTER [ TABLE ] table_name

        Mengidentifikasi tabel yang akan diubah. Jika tabel belum menjadi bagian dari berbagi Azure Databricks menimbulkan kesalahan.

      • COMMENT comment

        Literal opsional STRING yang dilampirkan ke berbagi tabel sebagai komentar.

      • Klausul PARTISI

        Satu atau lebih partisi tabel akan ditambahkan. Kunci partisi harus cocok dengan partisi tabel dan dikaitkan dengan nilai. Jika tidak ada PARTITION clause yang ditemukan, ADD TABLE menambahkan seluruh tabel.

        Untuk mempartisi berdasarkan referensi ke properti penerima, gunakan sintaks:

        PARTITION (column_name = CURRENT_RECIPIENT().<property-key>)
        

        Pemartisian dengan referensi ke properti penerima Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 12.2 LTS ke atas.

      • AS table_share_name

        Secara opsional mengekspos tabel dengan nama yang berbeda. Nama dapat memenuhi syarat dengan nama database (skema). Jika tidak ada table_share_name yang ditentukan, tabel akan dikenal dengan namanya sendiri.

      • WITH HISTORY atau WITHOUT HISTORY

        Berlaku untuk: centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 12.2 LTS ke atas.

        Ketika WITH HISTORY ditentukan, bagikan tabel dengan riwayat lengkap, yang memungkinkan penerima untuk melakukan kueri perjalanan waktu. Tabel bersama kemudian dapat dirujuk menggunakan VERSION AS OF dan TIMESTAMP AS OF.

        Jika, selain melakukan kueri perjalanan waktu dan pembacaan streaming, Anda ingin pelanggan Anda dapat mengkueri umpan data perubahan tabel (CDF) menggunakan fungsi table_changes(), Anda harus mengaktifkan CDF pada tabel sebelum Membagikannya WITH HISTORY.

        Perilaku defaultnya adalah WITHOUT HISTORY.

    • REMOVE TABLE table_name

      Menghapus tabel yang diidentifikasi oleh table_name dari share. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi.

    • alter_add_schema

      Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

      Menambahkan skema ke berbagi atau memodifikasi skema bersama yang ada. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi dan skema.

      • ADD SCHEMA schema_name

        Mengidentifikasi skema yang akan ditambahkan. Jika skema tidak dapat ditemukan, Azure Databricks menimbulkan kesalahan SCHEMA_NOT_FOUND .

      • ALTER SCHEMA schema_name

        Mengidentifikasi skema yang akan diubah. Jika skema belum menjadi bagian dari berbagi, Azure Databricks menimbulkan kesalahan.

      • COMMENT comment

        Literal opsional STRING yang dilampirkan ke berbagi skema sebagai komentar.

    • REMOVE SCHEMA schema_name

      Hapus skema yang diidentifikasi oleh schema_name dari berbagi. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi.

    • alter_add_view

      Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

      Menambahkan tampilan ke berbagi atau memodifikasi tampilan bersama yang sudah ada. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi dan memiliki SELECT hak istimewa pada tampilan.

      • ADD VIEW view_name

        Mengidentifikasi tampilan yang akan ditambahkan. Jika tampilan tidak dapat ditemukan, Azure Databricks menimbulkan kesalahan TABLE_OR_VIEW_NOT_FOUND .

      • ALTER VIEW view_name

        Mengidentifikasi tampilan yang akan diubah. Jika tampilan belum menjadi bagian dari berbagi Azure Databricks menimbulkan kesalahan.

      • COMMENT comment

        Literal opsional STRING yang dilampirkan ke berbagi tampilan sebagai komentar.

      • AS view_share_name

        Secara opsional mengekspos tampilan dengan nama yang berbeda. Nama dapat memenuhi syarat dengan nama skema. Jika tidak view_share_name ditentukan, tampilan dikenal dengan namanya sendiri.

        Jika nama bersama sudah ada, Azure Databricks menimbulkan kesalahan.

    • REMOVE VIEW view_name

      Hapus tampilan yang diidentifikasi oleh view_name dari berbagi. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi.

    • alter_add_model

      Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 14.0 ke atas

      Menambahkan model ke berbagi atau memodifikasi model bersama yang ada. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi dan memiliki EXECUTE hak istimewa pada model.

      • ADD MODEL model_name

        Mengidentifikasi model yang akan ditambahkan. Jika model tidak dapat ditemukan, Azure Databricks menimbulkan kesalahan RESOURCE_DOES_NOT_EXIST.

      • ALTER MODEL model_name

        Mengidentifikasi model yang akan diubah. Jika model belum menjadi bagian dari berbagi Azure Databricks menimbulkan kesalahan.

      • COMMENT comment

        Literal opsional STRING yang dilampirkan ke berbagi model sebagai komentar.

      • AS model_share_name

        Secara opsional mengekspos model dengan nama yang berbeda. Nama dapat memenuhi syarat dengan nama skema. Jika tidak model_share_name ditentukan, model dikenal dengan namanya sendiri.

        Jika nama bersama sudah ada, Azure Databricks menimbulkan kesalahan.

    • REMOVE MODEL model_name

      Hapus model yang diidentifikasi oleh model_name dari berbagi. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi.

    • RENAME TO to_share_name

      Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

      Mengganti nama berbagi. Nama harus unik di antara semua berbagi di metastore. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi dan memiliki hak istimewa CREATE SHARE di metastore.

    • [ SET ] OWNER TO principal

      Mentransfer kepemilikan berbagi ke principal. Untuk menjalankan pernyataan ini, Anda harus menjadi pemilik berbagi.

      Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 11.3 LTS ke atas

      SET diperbolehkan sebagai kata kunci opsional.

Contoh

-- Creates a share named `some_share`.
> CREATE SHARE some_share;

-- Add a table to the share.
> ALTER SHARE some_share
     ADD TABLE my_schema.my_tab
         COMMENT 'some comment'
         PARTITION(c1_int = 5, c2_date LIKE '2021%')
         AS shared_schema.shared_tab;

-- Add a schema to the share.
> ALTER SHARE some_share
     ADD SCHEMA some_schema
         COMMENT 'some comment';

-- Add a view to the share.
> ALTER SHARE some_share
     ADD VIEW my_schema.my_view
         COMMENT 'some comment'
         AS shared_schema.shared_view;

-- Add a materialized view to the share.
> ALTER SHARE some_share
     ADD MATERIALIZED VIEW my_schema.my_mat_view
         COMMENT 'some comment'
         AS shared_schema.shared_mat_view;

-- Share a table with history
> ALTER SHARE share ADD TABLE table1 WITH HISTORY;
> ALTER SHARE share ADD TABLE table2 WITHOUT HISTORY;
> SHOW ALL IN SHARE share;
  Name    type   ... history_sharing  ...
  ------  ------ ... ----------------
  Table1  TABLE  ... ENABLED          ...
  Table2  TABLE  ... DISABLED         ...

-- Remove the table again
> ALTER SHARE some_share
    REMOVE TABLE shared_schema.shared_tab;

-- Remove the schema again
> ALTER SHARE some_share
    REMOVE SCHEMA some_schema;

-- Remove a view again
> ALTER SHARE some_share
    REMOVE VIEW shared_schema.shared_view;

-- Rename a share
> ALTER SHARE some_share
    RENAME TO new_share;

-- Change ownership of the share
> ALTER SHARE some_share
    OWNER TO `alf@melmak.et`