Erstellen von Tabellen in Unity Catalog

In diesem Artikel wird das Konzept der verwalteten und externen Tabellen vorgestellt und es wird beschrieben, wie Tabellen in Unity Catalog erstellt werden.

Hinweis

Achten Sie beim Erstellen einer Tabelle darauf, auf einen Katalog zu verweisen, der von Unity Catalog gesteuert wird, oder legen Sie den Standardkatalog auf einen Katalog fest, der von Unity Catalog gesteuert wird. Weitere Informationen finden Sie unter Verwalten des Standardkatalogs.

Der Katalog hive_metastore wird im Katalog-Explorer angezeigt, gilt aber nicht als von Unity Catalog verwaltet. Er wird vom Hive-Metastore Ihres Azure Databricks-Arbeitsbereichs verwaltet. Alle anderen aufgeführten Kataloge werden von Unity Catalog verwaltet.

Sie können die Unity Catalog-Tabellenupgradeschnittstelle verwenden, um für vorhandene Tabellen, die im Hive-Metastore registriert sind, ein Upgrade auf Unity Catalog durchzuführen. Weitere Informationen finden Sie unter Upgrade von Hive-Tabellen und Sichten für Unity Catalog.

Verwaltete Tabellen

Beim Erstellen von Tabellen in Unity Catalog werden standardmäßig verwaltete Tabellen verwendet. Unity Catalog verwaltet den Lebenszyklus und das Dateilayout für diese Tabellen. Sie sollten keine Tools außerhalb von Azure Databricks verwenden, um Dateien in diesen Tabellen direkt zu bearbeiten.

Verwaltete Tabellen werden im verwalteten Speicher, entweder auf Metastore-, Katalog- oder Schemaebene gespeichert, je nachdem, wie das Schema und der Katalog konfiguriert sind. Weitere Informationen finden Sie unter Angeben eines verwalteten Speicherorts in Unity Catalog.

Verwaltete Tabellen verwenden immer das Delta-Tabellenformat.

Wenn eine verwaltete Tabelle gelöscht wird, werden die zugrunde liegenden Daten innerhalb von 30 Tagen aus Ihrem Cloudmandanten gelöscht.

Externe Tabellen

Externe Tabellen sind Tabellen, deren Daten außerhalb des für den Metastore, Katalog oder Schema angegebenen verwalteten Speicherorts gespeichert werden. Verwenden Sie externe Tabellen nur, wenn Sie direkten Zugriff auf die Daten außerhalb von Azure Databricks-Clustern oder Databricks SQL-Warehouses benötigen.

Wenn Sie DROP TABLE für eine externe Tabelle ausführen, löscht Unity Catalog die zugrunde liegenden Daten nicht. Um eine Tabelle ablegen zu können, müssen Sie deren Besitzer sein. Sie können Berechtigungen für externe Tabellen auf die gleiche Weise verwalten wie bei verwalteten Tabellen und externe Tabellen genauso in Abfragen verwenden wie verwaltete Tabellen. Geben Sie zum Erstellen einer externen Tabelle mit SQL einen LOCATION-Pfad in Ihrer CREATE TABLE-Anweisung an. Für externe Tabellen können die folgenden Dateiformate verwendet werden:

  • DELTA
  • CSV
  • JSON
  • AVRO
  • PARQUET
  • ORC
  • TEXT

Um den Zugriff auf den zugrunde liegenden Cloudspeicher für eine externe Tabelle zu verwalten, müssen Sie Speicheranmeldeinformationen und externe Speicherorte einrichten.

Weitere Informationen finden Sie unter Erstellen einer externen Tabelle

Anforderungen

Sie müssen über die CREATE TABLE-Berechtigung für das Schema verfügen, in dem Sie die Tabelle erstellen möchten, sowie über die USE SCHEMA-Berechtigung für das Schema und die USE CATALOG-Berechtigung für den übergeordneten Katalog.

Weitere Anforderungen zum Erstellen einer externen Tabelle finden Sie unter Erstellen einer externen Tabelle.

Erstellen einer verwalteten Tabelle

Führen Sie den folgenden SQL Befehl aus, um eine verwaltete Tabelle zu erstellen. Elemente in Klammern sind optional. Ersetzen Sie folgende Platzhalterwerte:

  • <catalog-name>: Der Name des Katalogs, der die Tabelle enthalten wird.

    Dies kann nicht der hive_metastore-Katalog sein, der automatisch für den Hive-Metastore erstellt wird, der Ihrem Azure Databricks-Arbeitsbereich zugeordnet ist. Sie können den Katalognamen löschen, wenn Sie die Tabelle im Standardkatalog des Arbeitsbereichs erstellen.

  • <schema-name>: Der Name des Schemas, das die Tabelle enthalten wird.

  • <table-name>: Einen Namen für die Tabelle.

  • <column-specification>: Name und Datentyp für jede Spalte.

SQL

CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
  <column-specification>
);

Python

spark.sql("CREATE TABLE <catalog-name>.<schema-name>.<table-name> "
  "("
  "  <column-specification>"
  ")")

R

library(SparkR)

sql(paste("CREATE TABLE <catalog-name>.<schema-name>.<table-name> ",
  "(",
  "  <column-specification>",
  ")",
  sep = ""))

Scala

spark.sql("CREATE TABLE <catalog-name>.<schema-name>.<table-name> " +
  "(" +
  "  <column-specification>" +
  ")")

Sie können auch eine verwaltete Tabelle erstellen, indem Sie den Databricks-Terraform-Anbieter und databricks_table verwenden. Sie können eine Liste der vollständigen Namen der Tabellen mithilfe von databricks_tables abrufen.

So erstellen Sie z. B. die Tabelle main.default.department und fügen fünf Zeilen ein:

SQL

CREATE TABLE main.default.department
(
  deptcode  INT,
  deptname  STRING,
  location  STRING
);

INSERT INTO main.default.department VALUES
  (10, 'FINANCE', 'EDINBURGH'),
  (20, 'SOFTWARE', 'PADDINGTON'),
  (30, 'SALES', 'MAIDSTONE'),
  (40, 'MARKETING', 'DARLINGTON'),
  (50, 'ADMIN', 'BIRMINGHAM');

Python

spark.sql("CREATE TABLE main.default.department "
  "("
  "  deptcode  INT,"
  "  deptname  STRING,"
  "  location  STRING"
  ")"
  "INSERT INTO main.default.department VALUES "
  "  (10, 'FINANCE', 'EDINBURGH'),"
  "  (20, 'SOFTWARE', 'PADDINGTON'),"
  "  (30, 'SALES', 'MAIDSTONE'),"
  "  (40, 'MARKETING', 'DARLINGTON'),"
  "  (50, 'ADMIN', 'BIRMINGHAM')")

R

library(SparkR)

sql(paste("CREATE TABLE main.default.department ",
  "(",
  "  deptcode  INT,",
  "  deptname  STRING,",
  "  location  STRING",
  ")",
  "INSERT INTO main.default.department VALUES ",
  "  (10, 'FINANCE', 'EDINBURGH'),",
  "  (20, 'SOFTWARE', 'PADDINGTON'),",
  "  (30, 'SALES', 'MAIDSTONE'),",
  "  (40, 'MARKETING', 'DARLINGTON'),",
  "  (50, 'ADMIN', 'BIRMINGHAM')",
  sep = ""))

Scala

spark.sql("CREATE TABLE main.default.department " +
  "(" +
  "  deptcode  INT," +
  "  deptname  STRING," +
  "  location  STRING" +
  ")" +
  "INSERT INTO main.default.department VALUES " +
  "  (10, 'FINANCE', 'EDINBURGH')," +
  "  (20, 'SOFTWARE', 'PADDINGTON')," +
  "  (30, 'SALES', 'MAIDSTONE')," +
  "  (40, 'MARKETING', 'DARLINGTON')," +
  "  (50, 'ADMIN', 'BIRMINGHAM')")

Löschen einer verwalteten Tabelle

Sie müssen der Besitzer der Tabelle sein, um sie ablegen zu können. Führen Sie den folgenden SQL-Befehl aus, um eine verwaltete Tabelle zu löschen:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

Wenn eine verwaltete Tabelle gelöscht wird, werden die zugrunde liegenden Daten innerhalb von 30 Tagen aus Ihrem Cloudmandanten gelöscht.

Erstellen einer externen Tabelle

Die Daten in einer externen Tabelle werden in einem Pfad auf Ihrem Cloudmandanten gespeichert. Zum Arbeiten mit externen Tabellen führt Unity Catalog zwei Objekte für den Zugriff auf den und die Arbeit mit dem externen Cloudspeicher ein:

  • Speicheranmeldeinformationen enthalten eine Authentifizierungsmethode für den Zugriff auf einen Cloudspeicherort. Die Speicheranmeldeinformationen enthalten keine Zuordnung zum Pfad, zu dem sie Zugriff gewähren. Speicheranmeldeinformationen werden zugriffsgesteuert kontrolliert, um zu bestimmen, welche Benutzer die Anmeldeinformationen verwenden können.
  • Ein externer Speicherort ordnet Speicheranmeldeinformationen einem Cloudspeicherpfad zu, zu dem er Zugriff gewährt. Der externe Speicherort gewährt nur Zugriff auf diesen Cloudspeicherpfad und dessen Inhalt. Externe Speicherorte werden zugriffsgesteuert kontrolliert, um zu bestimmen, welche Benutzer sie verwenden können. Ein externer Speicherort wird automatisch verwendet, wenn Ihr SQL Befehl eine LOCATION-Klausel enthält.

Requirements (Anforderungen)

Zum Erstellen einer externen Tabelle benötigen Sie Folgendes:

  • Die CREATE EXTERNAL TABLE-Berechtigung für einen externen Speicherort, die Zugriff auf den LOCATION gewährt, auf den von der externen Tabelle zugegriffen wird.
  • Die USE SCHEMA-Berechtigung für das übergeordnete Schema der Tabelle.
  • Die USE CATALOG-Berechtigung für den übergeordneten Katalog der Tabelle.
  • Die CREATE TABLE-Berechtigung für das übergeordnete Schema der Tabelle.

Externe Speicherorte und Speicheranmeldeinformationen werden auf Metastore-Ebene und nicht in einem Katalog gespeichert. Um Speicheranmeldeinformationen erstellen zu können, müssen Sie Kontoadministrator*in sein oder über die CREATE STORAGE CREDENTIAL-Berechtigung verfügen. Um externe Speicherorte erstellen zu können, müssen Sie Metastoreadministrator*in oder Benutzer*in mit CREATE EXTERNAL LOCATION-Berechtigung sein. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Cloudobjektspeichern mithilfe von Unity Catalog.

Erstellen einer Tabelle

Verwenden Sie eines der folgenden Befehlsbeispiele in einem Notebook oder im SQL-Abfrage-Editor, um eine externe Tabelle zu erstellen.

Sie können auch ein Beispielnotebook verwenden, um die Speicheranmeldeinformationen, den externen Speicherort und die externe Tabelle zu erstellen, und auch Berechtigungen dafür verwalten.

Ersetzen Sie in den folgenden Beispielen die Platzhalterwerte:

  • <catalog>: Der Name des Katalogs, der die Tabelle enthalten wird.

    Dies kann nicht der hive_metastore-Katalog sein, der automatisch für den Hive-Metastore erstellt wird, der Ihrem Azure Databricks-Arbeitsbereich zugeordnet ist. Sie können den Katalognamen löschen, wenn Sie die Tabelle im Standardkatalog des Arbeitsbereichs erstellen.

  • <schema>: Der Name des Schemas, das die Tabelle enthalten wird.

  • <table-name>: Einen Namen für die Tabelle.

  • <column-specification>: Name und Datentyp für jede Spalte.

  • <bucket-path>: Der Pfad zum Cloudspeicher-Bucket, in dem die Tabelle erstellt wird.

  • <table-directory>: Ein Verzeichnis, in dem die Tabelle erstellt wird. Verwenden Sie ein eindeutiges Verzeichnis für jede Tabelle.

Wichtig

Sobald eine Tabelle in einem Pfad erstellt wurde, können Benutzer nicht mehr direkt von Azure Databricks auf die Dateien in diesem Pfad zugreifen, auch wenn ihnen Berechtigungen für einen externen Speicherort oder Speicher-Anmeldeinformationen erteilt wurden. Dadurch wird sichergestellt, dass Benutzer Zugriffssteuerungen, die auf Tabellen angewendet werden, nicht umgehen können, indem sie Dateien direkt aus Ihrem Cloud-Mandanten lesen.

SQL

CREATE TABLE <catalog>.<schema>.<table-name>
(
  <column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';

Python

spark.sql("CREATE TABLE <catalog>.<schema>.<table-name> "
  "("
  "  <column-specification>"
  ") "
  "LOCATION 'abfss://<bucket-path>/<table-directory>'")

R

library(SparkR)

sql(paste("CREATE TABLE <catalog>.<schema>.<table-name> ",
  "(",
  "  <column-specification>",
  ") ",
  "LOCATION 'abfss://<bucket-path>/<table-directory>'",
  sep = ""))

Scala

spark.sql("CREATE TABLE <catalog>.<schema>.<table-name> " +
  "(" +
  "  <column-specification>" +
  ") " +
  "LOCATION 'abfss://<bucket-path>/<table-directory>'")

Unity Catalog überprüft, ob Sie über die folgenden Berechtigungen verfügen:

  • CREATE EXTERNAL TABLE an dem externen Speicherort, der auf den von Ihnen angegebenen Cloudspeicherpfad verweist.
  • CREATE TABLE für das übergeordnete Schema.
  • USE SCHEMA für das übergeordnete Schema.
  • USE CATALOG für den übergeordneten Katalog.

Wenn Sie dies tun, wird die externe Tabelle erstellt. Andernfalls tritt ein Fehler auf, und die externe Tabelle wird nicht erstellt.

Hinweis

Sie können stattdessen eine vorhandene externe Tabelle im Hive-Metastore zum Unity-Katalog migrieren, ohne die Daten zu duplizieren. Weitere Informationen finden Sie unter Upgrade einer einzelnen Hive-Tabelle auf eine externe Unity Catalog-Tabelle mithilfe des Upgrade-Assistenten.

Sie können auch eine externe Tabelle erstellen, indem Sie den Databricks-Terraform-Anbieter und databricks_table verwenden. Sie können eine Liste der vollständigen Namen der Tabellen mithilfe von databricks_tables abrufen.

Beispielnotebook: Erstellen externer Tabellen

Mit dem folgenden Beispielnotebook können Sie einen Katalog, ein Schema und eine externe Tabelle erstellen und die Berechtigungen dafür verwalten.

Notebook: Erstellen und Verwalten einer externen Tabelle in Unity Catalog

Notebook abrufen

Erstellen einer Tabelle aus Dateien, die in Ihrem Cloud-Mandanten gespeichert sind

Sie können eine verwaltete oder externe Tabelle mit Datensätzen aus Dateien ausfüllen, die in Ihrem Cloud-Mandanten gespeichert sind. Unity Catalog liest die Dateien an diesem Speicherort und fügt ihren Inhalt in die Tabelle ein. In Unity Catalog wird dies als pfadbasierter Zugriff bezeichnet.

Sie können den Beispielen in diesem Abschnitt folgen oder die Benutzeroberfläche zum Hinzufügen von Daten verwenden.

Den Inhalt der Datei durchsuchen

Um Daten zu untersuchen, die an einem externen Speicherort gespeichert sind, bevor Sie Tabellen aus diesen Daten erstellen, können Sie den Katalog-Explorer oder die folgenden Befehle verwenden.

Erforderliche Berechtigungen: Sie müssen über die READ FILES-Berechtigung für den externen Speicherort verfügen, der mit dem Cloudspeicherpfad verknüpft ist, um eine Liste der Datendateien an diesem Speicherort zurückgeben zu können.

Sql

  1. Listen Sie die Dateien in einem Cloudspeicherpfad auf:

    LIST 'abfss://<path-to-files>';
    
  2. Fragen Sie die Daten in den Dateien in einem bestimmten Pfad ab:

    SELECT * FROM <format>.`abfss://<path-to-files>`;
    

Python

  1. Listen Sie die Dateien in einem Cloudspeicherpfad auf:

    display(spark.sql("LIST 'abfss://<path-to-files>'"))
    
  2. Fragen Sie die Daten in den Dateien in einem bestimmten Pfad ab:

    display(spark.read.load("abfss://<path-to-files>"))
    

R

  1. Listen Sie die Dateien in einem Cloudspeicherpfad auf:

    library(SparkR)
    
    display(sql("LIST 'abfss://<path-to-files>'"))
    
  2. Fragen Sie die Daten in den Dateien in einem bestimmten Pfad ab:

    library(SparkR)
    
    display(loadDF("abfss://<path-to-files>"))
    

Scala

  1. Listen Sie die Dateien in einem Cloudspeicherpfad auf:

    display(spark.sql("LIST 'abfss://<path-to-files>'"))
    
  2. Fragen Sie die Daten in den Dateien in einem bestimmten Pfad ab:

    display(spark.read.load("abfss://<path-to-files>"))
    

Erstellen einer Tabelle aus den Dateien

Befolgen Sie die Beispiele in diesem Abschnitt, um eine neue Tabelle zu erstellen und mit Datendateien auf Ihrem Cloudmandanten aufzufüllen.

Hinweis

Sie können stattdessen eine vorhandene externe Tabelle im Hive-Metastore zum Unity-Katalog migrieren, ohne die Daten zu duplizieren. Weitere Informationen finden Sie unter Upgrade einer einzelnen Hive-Tabelle auf eine externe Unity Catalog-Tabelle mithilfe des Upgrade-Assistenten.

Wichtig

  • Wenn Sie mit dieser Methode eine Tabelle erstellen, wird der Speicherpfad nur einmal gelesen, um eine Duplizierung von Datensätzen zu verhindern. Wenn Sie den Inhalt des Verzeichnisses erneut lesen möchten, müssen Sie die Tabelle löschen und neu erstellen. Für eine vorhandene Tabelle können Sie Datensätze aus einem Speicherpfad einfügen.
  • Ein Bucket-Speicherpfad, in dem Sie eine Tabelle erstellen, kann nicht auch zum Lesen oder Schreiben von Datendateien verwendet werden.
  • Nur die Dateien im genauen Verzeichnis werden gelesen. Der Lesevorgang ist nicht rekursiv.
  • Sie benötigen die folgenden Berechtigungen:
    • USE CATALOG für den übergeordneten Katalog und USE SCHEMA für das übergeordnete Schema.
    • CREATE TABLE für das übergeordnete Schema.
    • READ FILES für den externen Speicherort, der dem Bucketpfad zugeordnet ist, in dem sich die Dateien befinden, oder direkt in den Speicher-Anmeldeinformationen, wenn Sie keinen externen Speicherort verwenden.
    • Wenn Sie eine externe Tabelle erstellen, benötigen Sie CREATE EXTERNAL TABLE für den Bucketpfad, in dem die Tabelle erstellt wird.

Verwenden Sie die folgenden Beispiele, um eine neue verwaltete Tabelle zu erstellen und mit Daten in Ihrem Cloudspeicher aufzufüllen.

SQL

CREATE TABLE <catalog>.<schema>.<table-name>
(
  <column-specification>
)
SELECT * from <format>.`abfss://<path-to-files>`;

Python

spark.sql("CREATE TABLE <catalog>.<schema>.<table-name> "
  "( "
  "  <column-specification> "
  ") "
  "SELECT * from <format>.`abfss://<path-to-files>`")

R

library(SparkR)

sql(paste("CREATE TABLE <catalog>.<schema>.<table-name> ",
  "( ",
  "  <column-specification> ",
  ") ",
  "SELECT * from <format>.`abfss://<path-to-files>`",
  sep = ""))

Scala

spark.sql("CREATE TABLE <catalog>.<schema>.<table-name> " +
  "( " +
  "  <column-specification> " +
  ") " +
  "SELECT * from <format>.`abfss://<path-to-files>`")

Um eine externe Tabelle zu erstellen und mit Daten in Ihrem Cloudspeicher aufzufüllen, fügen Sie eine LOCATION-Klausel hinzu:

SQL

CREATE TABLE <catalog>.<schema>.<table-name>
(
    <column-specification>
)
USING <format>
LOCATION 'abfss://<table-location>'
SELECT * from <format>.`abfss://<path-to-files>`;

Python

spark.sql("CREATE TABLE <catalog>.<schema>.<table-name> "
  "( "
  "  <column-specification> "
  ") "
  "USING <format> "
  "LOCATION 'abfss://<table-location>' "
  "SELECT * from <format>.`abfss://<path-to-files>`")

R

library(SparkR)

sql(paste("CREATE TABLE <catalog>.<schema>.<table-name> ",
  "( ",
  "  <column-specification> ",
  ") ",
  "USING <format> ",
  "LOCATION 'abfss://<table-location>' ",
  "SELECT * from <format>.`abfss://<path-to-files>`",
  sep = ""))

Scala

spark.sql("CREATE TABLE <catalog>.<schema>.<table-name> " +
  "( " +
  "  <column-specification> " +
  ") " +
  "USING <format> " +
  "LOCATION 'abfss://<table-location>' " +
  "SELECT * from <format>.`abfss://<path-to-files>`")

Einfügen von Datensätzen aus einem Pfad in eine vorhandene Tabelle

Verwenden Sie zum Einfügen von Datensätzen aus einem Bucketpfad in eine vorhandene Tabelle den COPY INTO-Befehl. Ersetzen Sie in den folgenden Beispielen die Platzhalterwerte:

  • <catalog>: Der Name des übergeordneten Katalogs der Tabelle.
  • <schema>: Der Name des übergeordneten Schemas der Tabelle.
  • <path-to-files>: Der Bucketpfad, der die Datendateien enthält.
  • <format>: Das Format der Dateien, z. B delta.
  • <table-location>: Der Bucketpfad, in dem die Tabelle erstellt wird.

Wichtig

  • Wenn Sie mit dieser Methode Datensätze in eine Tabelle einfügen, wird der von Ihnen angegebene Bucketpfad nur einmal gelesen, um eine Duplizierung von Datensätzen zu verhindern.
  • Ein Bucket-Speicherpfad, in dem Sie eine Tabelle erstellen, kann nicht auch zum Lesen oder Schreiben von Datendateien verwendet werden.
  • Nur die Dateien im genauen Verzeichnis werden gelesen. Der Lesevorgang ist nicht rekursiv.
  • Sie benötigen die folgenden Berechtigungen:
    • USE CATALOG für den übergeordneten Katalog und USE SCHEMA für das übergeordnete Schema.
    • MODIFY für die Tabelle.
    • READ FILES für den externen Speicherort, der dem Bucketpfad zugeordnet ist, in dem sich die Dateien befinden, oder direkt in den Speicher-Anmeldeinformationen, wenn Sie keinen externen Speicherort verwenden.
    • Zum Einfügen von Datensätzen in eine externe Tabelle benötigen Sie CREATE EXTERNAL TABLE für den Bucketpfad, in dem sich die Tabelle befindet.

So fügen Sie Datensätze aus Dateien in einem Bucketpfad in eine verwaltete Tabelle ein, indem Sie einen externen Speicherort zum Lesen aus dem Bucketpfad verwenden:

SQL

COPY INTO <catalog>.<schema>.<table>
FROM (
  SELECT *
  FROM 'abfss://<path-to-files>'
)
FILEFORMAT = <format>;

Python

spark.sql("COPY INTO <catalog>.<schema>.<table> "
  "FROM ( "
  "  SELECT * "
  "  FROM 'abfss://<path-to-files>' "
  ") "
  "FILEFORMAT = <format>")

R

library(SparkR)

sql(paste("COPY INTO <catalog>.<schema>.<table> ",
  "FROM ( ",
  "  SELECT * ",
  "  FROM 'abfss://<path-to-files>' ",
  ") ",
  "FILEFORMAT = <format>",
  sep = ""))

Scala

spark.sql("COPY INTO <catalog>.<schema>.<table> " +
  "FROM ( " +
  "  SELECT * " +
  "  FROM 'abfss://<path-to-files>' " +
  ") " +
  "FILEFORMAT = <format>")

Fügen Sie zum Einfügen in eine externe Tabelle eine LOCATION-Klausel hinzu:

SQL

COPY INTO <catalog>.<schema>.<table>
LOCATION 'abfss://<table-location>'
FROM (
  SELECT *
  FROM 'abfss://<path-to-files>'
)
FILEFORMAT = <format>;

Python

spark.sql("COPY INTO <catalog>.<schema>.<table> "
  "LOCATION 'abfss://<table-location>' "
  "FROM ( "
  "  SELECT * "
  "  FROM 'abfss://<path-to-files>' "
  ") "
  "FILEFORMAT = <format>")

R

library(SparkR)

sql(paste("COPY INTO <catalog>.<schema>.<table> ",
  "LOCATION 'abfss://<table-location>' ",
  "FROM ( ",
  "  SELECT * ",
  "  FROM 'abfss://<path-to-files>' ",
  ") ",
  "FILEFORMAT = <format>",
  sep = ""))

Scala

spark.sql("COPY INTO <catalog>.<schema>.<table> " +
  "LOCATION 'abfss://<table-location>' " +
  "FROM ( " +
  "  SELECT * " +
  "  FROM 'abfss://<path-to-files>' " +
  ") " +
  "FILEFORMAT = <format>")

Hinzufügen von Kommentaren zu einer Tabelle

Als Tabellenbesitzer*in oder Benutzer*in mit der MODIFY-Berechtigung für eine Tabelle können Sie einer Tabelle und den zugehörigen Spalten Kommentare hinzufügen. Sie können Kommentare mithilfe der folgenden Funktionalität hinzufügen:

  • Den Befehl KOMMENTAR EIN. Diese Option unterstützt keine Spaltenkommentare.
  • Die Option COMMENT, wenn Sie die Befehle CREATE TABLE und ALTER TABLE verwenden. Diese Option unterstützt Spaltenkommentare.
  • Das „manuelle” Kommentarfeld im Katalog-Explorer. Diese Option unterstützt Spaltenkommentare. Weitere Informationen finden Sie unter Dokumentieren von Daten im Katalog-Explorer mit Markdownkommentaren.
  • KI-generierte Kommentare (auch als KI-generierte Dokumentation bezeichnet) im Katalog-Explorer. Sie können einen Kommentar anzeigen, der von einem großen Sprachmodell (LLM) vorgeschlagen wird, das die Metadaten der Tabelle berücksichtigt, wie z. B. das Tabellenschema und die Spaltennamen, und den Kommentar bearbeiten oder unverändert akzeptieren, um ihn hinzuzufügen. Weitere Informationen dazu finden Sie unter Hinzufügen von KI-generierten Kommentaren zu einer Tabelle.

Nächste Schritte