CREATE TABLE in Databricks: Eine umfassende Anleitung zum Erstellen und Verwalten von Tabellen
Erfahre, wie du Tabellen in Databricks mit dem Befehl CREATE TABLE erstellst. Lerne verschiedene Methoden für unterschiedliche Szenarien, z.B. wie du eine Tabelle aus vorhandenen Daten erstellst und wie du CREATE TABLE als SELECT verwendest.
Databricks Tabellen sind eine Kernkomponente der Databricks Lakehouse Plattform, die für die Speicherung und Verarbeitung großer Datenmengen entwickelt wurde. Diese Tabellen ermöglichen eine teamübergreifende Zusammenarbeit, indem sie strukturierte und unstrukturierte Daten zusammenführen und gleichzeitig analytische Workloads unterstützen.
In diesem Artikel führe ich dich durch die verschiedenen Techniken zur Erstellung von Tabellen in Databricks mit dem Befehl CREATE TABLE. Dabei gibt es mehrere Syntaxvarianten, um verschiedenen Anwendungsfällen gerecht zu werden. Außerdem gebe ich dir Tipps, wie du Tabellen in Databricks am effizientesten und zuverlässigsten erstellen und verwalten kannst.
Für den Anfang empfehle ich dir einen Blick auf DataCamps How to Learn Databricks: Der Blogbeitrag A Beginner's Guide to the Unified Data Platform hilft dir, die wichtigsten Funktionen und Anwendungen von Databricks zu verstehen und bietet dir einen strukturierten Weg, um mit dem Lernen zu beginnen. Ich empfehle dir auch unseren Kurs Einführung in Databricks zu besuchen. Auch wenn du Erfahrung mit SQL hast, wirst du sehen, dass die Dinge auf der Databricks Lakehouse-Plattform anders aussehen können. Die interaktiven Übungen in unserem Kurs führen dich durch SQL-Abfragen sowie durch Plattformfunktionen und externe Systemverbindungen.
Einführung in Databricks Tabellen
Zunächst einmal sollten wir sagen, dass Databricks Tabellen strukturierte Datensätze sind, die die Datenorganisation und den Zugriff innerhalb der Databricks Lakehouse Umgebung erleichtern. Es gibt zwei Arten:
Verwaltete Tabellen: Diese Tabellen werden vollständig von Databricks kontrolliert, das sowohl die Speicherung als auch die Metadaten verwaltet. Wenn eine verwaltete Tabelle erstellt wird, kümmert sich Databricks um die zugrunde liegenden Datendateien, und wenn die Tabelle gelöscht wird, werden auch die entsprechenden Daten entfernt.
Externe Tabellen: Externe Tabellen verweisen auf Daten, die sich außerhalb von Databricks befinden, in der Regel in Cloud-Speichersystemen wie AWS S3 oder Azure Blob Storage. Während Databricks die Metadaten für diese Tabellen verwaltet, bleiben die eigentlichen Daten intakt, auch wenn die Tabelle gelöscht wird. Diese werden auch als unverwaltete Tabellen bezeichnet.
Tabellen in Databricks sind aufgrund ihrer fortschrittlichen Funktionen und Optimierungen oft auf Delta Lake voreingestellt. Delta Lake bietet ACID-Transaktionen,Skalierbarkeit,Leistungsverbesserungen wie Optimierungen wie Caching und Indizierung sowieeine einheitliche Batch- und Streaming-Datenverarbeitung.
In den frühen Versionen von Azure Databricks wurden noch die alten Tabellen im "Hive-Format" verwendet, die durch die modernen Delta-Tabellen ersetzt wurden. Insgesamt übertreffen moderne Delta-Tabellen die alten Hive-Tabellen an Zuverlässigkeit und Leistung, was sie zur Standardwahl für Databricks-Workflows macht.
Hier ist eine Zusammenfassung, die dir helfen könnte, den Unterschied zwischen den beiden zu erkennen:
Keine integrierte Unterstützung für historische Abfragen
Unterstützt Zeitreisen zur Abfrage früherer Versionen von Daten
Gleichzeitigkeit
Anfällig für Konflikte bei Aktualisierungen oder Löschungen
Effizienter Umgang mit gleichzeitigen Operationen
CREATE TABLE Syntax Variationen
Der Befehl CREATE TABLE in Databricks unterstützt mehrere Varianten, um verschiedenen Fällen gerecht zu werden. Jede Variante hat ihren Zweck, mit gezielten Optionen wie Dateispeicherort, Klonen und Metadatenverwaltung. Wenn du dein Wissen über Databricks SQL auffrischen möchtest, empfehle ich dir, unser Databricks SQL-Tutorial zu lesen, in dem du unter anderem erfährst, wie du ein Notebook in einem Databricks SQL-Warehouse verwenden kannst.
Im Folgenden findest du die wichtigsten Syntaxarten mit Beispielen und Erklärungen.
TABELLE ERSTELLEN [MIT]
Diese Syntax erstellt eine neue Tabelle mit einem bestimmten Schema und Datenformat. Die folgende Abfrage erstellt eine Tabelle mit dem Namen sales_data, indem sie Daten aus Parkettdateien liest, die an einem bestimmten Ort gespeichert sind.
-- Create a table from files in a specific formatCREATETABLE sales_data
USING PARQUET
LOCATION '/mnt/data/sales';Bereitgestellt von
CREATE TABLE (Hive-Format)
Diese Legacy-Syntax ähnelt dem Standard-SQL-Befehl CREATE TABLE, der bei der Definition einer Tabelle mit von Databricks verwalteten Metadaten verwendet wird, ohne dass auf externe Dateien verwiesen werden muss. Die folgende Abfrage erstellt eine Tabelle im Hive-Stil namens hive_table mit einem vordefinierten Schema und zusätzlichen Metadateneigenschaften.
-- Hive-style table creation with schema definitionCREATETABLE hive_table (
id INT,
name STRING
)COMMENT'Hive format example'
TBLPROPERTIES ('created_by'='databricks');Bereitgestellt von
In der obigen Abfrage fügt die Klausel COMMENT beschreibende Metadaten hinzu, während TBLPROPERTIES benutzerdefinierte Eigenschaften über die Tabelle speichert.
TABELLE ERSTELLEN WIE
Dieser Befehl erstellt eine neue Tabelle unter Verwendung des Schemas und der Eigenschaften einer bestehenden Tabelle. Du solltest diese Syntax verwenden, wenn du die Struktur einer bestehenden Tabelle replizieren willst, ohne ihre Daten zu kopieren. Dies ist für Test- oder Entwicklungszwecke nützlich.
-- Create a table with the same schema as another tableCREATETABLE new_table LIKE existing_table;Bereitgestellt von
TABELLE ERSTELLEN KLON
Mit dieser Syntax kannst du eine neue Tabelle erstellen, indem du eine bestehende Delta Lake-Tabelle klonst, entweder als tiefen oder flachen Klon. Daher solltest du die CREATE TABLE CLONE Syntax verwenden, wenn du eine unabhängige Kopie der Daten und Metadaten einer Tabelle (deep clone) oder nur die Metadaten mit Verweis auf die Originaldaten (shallow clone) benötigst. Denke darüber nach, wenn es um die Versionierung oder das Erstellen von Backups geht.
Das folgende Beispiel zeigt die Abfragen zum Erstellen von Deep Clone- und shallow Clone-Tabellen in Databricks.
-- Deep clone by defaultCREATETABLE cloned_table CLONE original_table;-- Shallow cloneCREATETABLE shallow_clone_table SHALLOW CLONE original_table;Bereitgestellt von
TABELLE ERSTELLEN ODER ERSETZEN
Dieser einzelne, kombinierte Befehl ersetzt eine bestehende Tabelle durch eine neue, wobei derselbe Tabellenname beibehalten wird, als ein einziger Vorgang. Diese Syntax solltest du verwenden, wenn du eine bestehende Tabelle vollständig überschreiben und ihren Namen beibehalten willst. Dies ist besonders nützlich, um die Struktur oder die Daten einer Tabelle zu aktualisieren, ohne sie vorher löschen zu müssen.
Die folgende Beispielabfrage erstellt oder ersetzt die Tabelle sales mit einem neuen Schema.
-- Create or replace a sales table with a new schemaCREATEORREPLACETABLE sales (
sale_id INT,
amount FLOAT)USING DELTA
LOCATION '/mnt/delta/sales';Bereitgestellt von
Es gibt weitere relevante Klauseln, die du mit der CREATE TABLE Syntax in Databricks verwenden kannst, um deine Tabellen nach bestimmten Anforderungen zu verwalten. Im Folgenden findest du eine Zusammenfassung der Verwendung dieser Klauseln. Ich habe nur einige, aber nicht alle davon bereits als Beispiele verwendet.
IF NOT EXISTS: Vermeidet Fehler, indem die Erstellung der Tabelle übersprungen wird, wenn sie bereits existiert.
USING: Gibt das Dateiformat an (z. B. Delta, Parquet, CSV).
EXTERNAL: Deklariert eine Tabelle, in der sich Daten außerhalb des von Databricks verwalteten Speichers befinden.
PARTITIONED BY: Definiert Partitionen für die Optimierung großer Datensätze.
LOCATION: Zeigt auf das Verzeichnis, das die Daten der Tabelle enthält.
TBLPROPERTIES: Fügt Metadaten für benutzerdefinierte Tabellenkonfigurationen und Optimierungen hinzu.
Schritt-für-Schritt-Demonstrationen
In diesem Abschnitt zeige ich dir verschiedene Möglichkeiten, Tabellen in Databricks zu erstellen und zu verwalten, mit prägnanten Beispielen und Erklärungen der wichtigsten Klauseln. Ich empfehle dir unser Databricks Tutorial: 7 Konzepte, die jeder Datenspezialist kennen muss Tutorial, um zu lernen, wie man SQL-Befehle auf der Databricks-Plattform ausführt.
Wie man eine leere Tabelle erstellt
Um eine leere Delta-Tabelle zu erstellen, definierst du das Tabellenschema mit Spaltennamen und Datentypen. Verwende die USING DELTA Klausel, um das Format der Tabelle zu definieren und COMMENT, um beschreibende Metadaten hinzuzufügen.
Diese Abfrage erstellt eine leere Delta-Tabelle namens employees mit einem vordefinierten Schema, das Spalten für id, name, department und hire_date enthält.
-- Create an empty Delta table with a defined schemaCREATETABLE employees (
id BIGINT,
name STRING,
department STRING,
hire_date DATE)USING DELTA
COMMENT'Table to store employee information';Bereitgestellt von
Wie man eine Tabelle aus vorhandenen Daten erstellt
Um eine Tabelle aus vorhandenen Daten zu erstellen, verknüpfst du die Tabelle mit externen Datendateien in Formaten wie CSV, Parquet oder JSON. Du kannst die LOCATION Klausel verwenden, um die Tabelle mit dem Dateipfad zu verknüpfen, und die USING Klausel, um das Datenformat anzugeben.
Die folgende Abfrage erstellt zum Beispiel eine Tabelle mit dem Namen sales_data, indem sie auf die unter /mnt/data/sales_data/ gespeicherten Parkettdateien verweist.
-- Create a table from Parquet files in a specified locationCREATETABLE sales_data
USING PARQUET
LOCATION '/mnt/data/sales_data/';Bereitgestellt von
Wie man eine Tabelle als Select erstellt (CTAS)
Du kannst eine Tabelle auch als Select erstellen, indem du eine Abfrage ausführst und das Ergebnis speicherst. In diesem Szenario füllt die AS SELECT Klausel die Tabelle mit dem Abfrageergebnis auf.
Die folgende Abfrage erstellt zum Beispiel eine neue Tabelle mit dem Namen high_value_sales, indem sie Daten aus der bestehenden Tabelle sales_data auswählt und umwandelt. Sie filtert Zeilen, in denen total_amount größer als 1000 ist, und behält nur die Spalten sale_id, customer_id und total_amount bei.
-- Create a table by selecting and transforming data from another tableCREATETABLE high_value_sales ASSELECT
sale_id,
customer_id,
total_amount
FROM sales_data
WHERE total_amount >1000;Bereitgestellt von
Wie man eine externe Tabelle erstellt
Beim Erstellen einer externen Tabelle wird auf Daten verwiesen, die außerhalb des verwalteten Speichers von Databricks gespeichert sind. Du solltest die LOCATION Klausel verwenden, um den Speicherort der externen Daten anzugeben.
Die folgende Abfrage erstellt eine externe Delta-Tabelle namens external_table, indem sie auf die unter /mnt/external_storage/external_table/ gespeicherten Daten verweist.
-- Create an external table referencing data outside Databricks storageCREATETABLE external_table
USING DELTA
LOCATION '/mnt/external_storage/external_table/';Bereitgestellt von
Wie man eine Tabelle LIKE erstellt
Um eine Tabelle LIKE zu erstellen, dupliziere das Schema einer bestehenden Tabelle, ohne ihre Daten zu kopieren. Im folgenden Beispiel erstellt die Abfrage eine neue Tabelle mit dem Namen sales_backup, die dasselbe Schema hat wie eine bestehende Tabelle sales.
-- Create a new sales table with the same schema as an existing tableCREATETABLE sales_backup LIKE sales;Bereitgestellt von
Wie man TABLE CLONE erstellt
Mit der CLONE Klausel kannst du einen Tabellenklon erstellen, um eine flache oder tiefe Kopie einer Delta-Tabelle für Backups oder Tests zu erstellen.
Im folgenden Beispiel erstellt die Abfrage eine neue Tabelle, sales_shallow_clone, kopiert nur die Metadaten (Schema und Eigenschaften der Tabelle).
-- Shallow clone: Copies only metadata (references original data)CREATETABLE sales_shallow_clone CLONE sales_data;Bereitgestellt von
Das folgende Beispiel erstellt eine neue Tabelle, sales_deep_clone, kopiert aber sowohl die Metadaten als auch die eigentlichen Daten.
-- Deep clone: Copies both metadata and actual dataCREATETABLE sales_deep_clone CLONE sales_data DEEP;Bereitgestellt von
So erstellst du eine temporäre Tabelle (temp-Tabelle)
Verwende die TEMPORARY Klausel, wenn du temporäre Tabellen erstellst, um sicherzustellen, dass die Tabelle sitzungsspezifisch ist.
Die folgende Abfrage erstellt eine temporäre Tabelle namens temp_table, die nur für die aktuelle Sitzung existiert. Er wählt id, name und sales_amount aus sales_data aus und filtert nach Zeilen, in denen region = 'US'.
-- Create a temporary table that exists only in the sessionCREATETEMPORARYTABLE temp_table ASSELECT
id,
name,
sales_amount
FROM sales_data
WHERE region ='US';Bereitgestellt von
Wie man eine Tabelle ersetzt
Du kannst die CREATE OR REPLACE Klausel verwenden, um die Definition und den Inhalt der Tabelle zu ersetzen. Die folgende Abfrage ersetzt die bestehende Tabelle updated_table durch ein neues Schema und neue Daten. Sie definiert die Tabelle mit drei Spalten (id, name, total_sales).
-- Replace an existing table with a new schema or dataCREATEORREPLACETABLE updated_table (
id BIGINT,
name STRING,
total_sales DOUBLE)USING DELTA
LOCATION '/mnt/delta/updated_table/';Bereitgestellt von
Fortgeschrittene Themen
In diesem Abschnitt gehe ich auf erweiterte Tabellenfunktionen von Databricks ein, die die Funktionalität, Leistung und Sicherheit verbessern.
Generierte Spalten und Identitätsspalten
Databricks unterstützt Identitätsspalten, die automatisch eindeutige Werte für jede neue Zeile erzeugen. Diese Funktion ist nützlich für die Erstellung von Ersatzschlüsseln im Data Warehousing.
Die folgende Abfrage erstellt eine Tabelle employees mit drei Spalten: id, name, und department. Die Spalte id ist eine Identitätsspalte, die mit jeder neuen Zeile automatisch erhöht wird.
-- Identity column: auto-incremented valueCREATETABLE employees (
id BIGINT GENERATED ALWAYS ASIDENTITY,-- Auto-incremented column
name STRING,
department STRING
);Bereitgestellt von
Diese andere Abfrage erstellt eine Tabelle sales mit drei Spalten: sale_id, sale_date, und sale_year. Die Spalte sale_year wird mit Hilfe der Funktion YEAR(sale_date) auf der Grundlage der Spalte sale_date erstellt und automatisch berechnet.
-- Generated column: derived from other columnsCREATETABLE sales (
sale_id BIGINT,
sale_date DATE,
sale_year INT GENERATED ALWAYS AS(YEAR(sale_date))-- Derived column);Bereitgestellt von
Partitionierung und Clustering
Bei der Partitionierung werden die Daten in kleinere Stücke aufgeteilt, um die Abfrageleistung zu verbessern, während beim Clustering die Daten innerhalb der Partitionen organisiert werden, damit sie schneller gelesen werden können.
Die folgende Abfrage erstellt zum Beispiel eine partitionierte Tabelle, in der die Daten anhand der Spalte region in Partitionen aufgeteilt werden, was die Abfrageleistung beim Filtern nach Regionen verbessert.
-- Partitioned tableCREATETABLE partitioned_table (
id BIGINT,
region STRING,
sales_amount DOUBLE)USING DELTA
PARTITIONED BY(region);-- Querying by region will be fasterBereitgestellt von
Die folgende Abfrage optimiert die partitionierte Tabelle, indem sie die Daten innerhalb jeder Partition auf der Grundlage der Spalte sales_amount clustert. Es macht Abfragen auf sales_amount schneller, indem es das Datenlayout für effizientes Lesen verbessert. Die ZORDER BY Klausel arbeitet innerhalb von Partitionen, um die Leseleistung zu verbessern, indem sie Daten innerhalb von Partitionen clustert, nicht über Partitionen hinweg.
-- Clustered tableOPTIMIZE partitioned_table
ZORDER BY(sales_amount);-- Clusters data within partitions for efficient readsBereitgestellt von
Spaltenmaskierung und Zeilenfilter
Spaltenmaskierung und Zeilenfilter schränken die Sichtbarkeit von Daten auf der Grundlage von Benutzerrollen oder Bedingungen ein und schützen so sensible Informationen.
Die folgende Abfrage erstellt zum Beispiel eine maskierte Ansicht mit dem Namen masked_table auf der Grundlage der Tabelle employees. Die Spalte salary wird für alle Benutzer mit Ausnahme derjenigen mit der Rolle manager geschwärzt (durch REDACTED ersetzt). Die Anweisung CASE stellt sicher, dass nur Manager das tatsächliche Gehalt sehen können, während andere die maskierten Daten sehen
-- Column masking: Redact sensitive dataCREATE MASKED VIEW masked_table ASSELECT
id,
name,CASEWHENcurrent_user()='manager'THEN salary
ELSE'REDACTED'ENDAS salary
FROM employees;Bereitgestellt von
In ähnlicher Weise verwendet die folgende Abfrage Zeilenfilter, um eine Ansicht mit dem Namen filtered_table auf der Grundlage der Tabelle sales zu erstellen oder zu ersetzen. Die Ansicht filtert die Zeilen so, dass nur Daten mit region = 'US' angezeigt werden.
-- Row filters: Fine-grained access controlCREATEORREPLACEVIEW filtered_table ASSELECT*FROM sales
WHERE region ='US';-- Limit data visibility to a specific regionBereitgestellt von
Schema-Bewertung
Databricks unterstützt die Weiterentwicklung des Schemas durch CREATE OR REPLACE TABLE und Änderungen an den Tabellen. Du solltest die Anweisung CREATE OR REPLACE TABLE verwenden, um das Schema und die Daten zu überschreiben, und die Anweisung ALTER TABLE, um das Schema schrittweise zu ändern, ohne die Daten zu beeinflussen.
Die folgende Abfrage ersetzt die bestehende Tabelle employees durch ein neues Schema und fügt eine neue Spalte hire_date hinzu, während die Daten im Delta-Format gespeichert bleiben.
-- Schema evolution with CREATE OR REPLACE TABLECREATEORREPLACETABLE employees (
id BIGINT,
name STRING,
department STRING,
hire_date DATE-- New column added)USING DELTA;Bereitgestellt von
Diese andere Abfrage ändert die Tabelle employees, indem sie eine neue Spalte salary in das bestehende Schema einfügt.
-- Altering a table schemaALTERTABLE employees ADDCOLUMNS(salary DOUBLE);Bereitgestellt von
Leistungsoptimierung
Um die Leistung von großen Tabellen zu optimieren, kannst du verschiedene Tabelleneigenschaften und Techniken wie die automatische Optimierung und die Z-Reihenfolge nutzen.
Im folgenden Beispiel aktiviert die Abfrage die Auto-Optimierung auf delta_table, indem sie die Eigenschaften so einstellt, dass kleine Dateien automatisch komprimiert und Dateien beim Schreiben zusammengeführt werden, um die Speichereffizienz zu verbessern.
-- Enable automatic optimizationsALTERTABLE delta_table
SET TBLPROPERTIES ('delta.autoOptimize.optimizeWrite'='true',-- Automatically compact small files'delta.autoOptimize.autoCompact'='true'-- Automatically merge files);Bereitgestellt von
In ähnlicher Weise optimiert die folgende Abfrage die delta_table, indem sie die Daten auf der Grundlage von region und sales_date clustert, um die Abfrageleistung zu verbessern, insbesondere bei Filtern für diese Spalten.
-- Perform clustering for faster query performanceOPTIMIZE delta_table
ZORDER BY(region, sales_date);-- Improves query efficiency for frequent filtersBereitgestellt von
Bewährte Praktiken und Überlegungen
Hier sind einige Dinge, die du beim Erstellen von Tabellen in Databricks beachten solltest, damit du alles richtig machst:
Konventionen für die Benennung von Tabellen: Verwende immer klare und einheitliche Namen, um die Auffindbarkeit zu verbessern und Fehler zu vermeiden. Vermeide Sonderzeichen oder übermäßig lange Namen, um Kompatibilitätsprobleme zu vermeiden.
Sicherheit und Berechtigungen: Nutze den Unity Catalog für eine zentrale Zugriffskontrolle auf alle Datenbestände. Verwende Zugriffskontrolllisten (ACLs), um einzuschränken, wer Daten sehen oder ändern darf. Maskiere außerdem sensible Daten mit Spaltenmaskierung oder Zeilenfiltern.
Sicherung und Wiederherstellung: Verlasse dich auf die Versionsgeschichte von Delta Lake, um dich leicht zu erholen und durch die Zeit zu reisen. Überprüfe und verwalte regelmäßig die Aufbewahrung historischer Versionen, um Speicherkosten und Wiederherstellungsbedarf auszugleichen.
Verwaltete vs. externe Tabellen: Es ist auch wichtig zu wissen, was verwaltete und was externe Tabellen sind. In verwalteten Tabellen verwaltet Databricks sowohl die Metadaten als auch die Daten. Dies ist ideal für Szenarien, in denen du die volle Kontrolle über das Datenlebenszyklusmanagement haben möchtest. In externen Tabellen werden die referenzierten Daten jedoch außerhalb von Databricks gespeichert. Dies ist nützlich, um die Kontrolle über Daten zu behalten, die über verschiedene Plattformen oder Systeme hinweg geteilt werden.
Häufige Fallstricke und Fehlerbehebung
Nachdem wir nun die besten Praktiken für die Verwaltung von Tabellen in Databricks besprochen haben, möchte ich auf die häufigsten Probleme eingehen, die bei Databricks-Tabellen auftreten können, sowie auf die typischen Fehlermeldungen und die Lösungen.
Nicht leere Speicherplatzfehler bei der Verwendung von CREATE vs. ERSTELLEN ODER ERSETZEN
Wenn du CREATE TABLE mit einem bestimmten Ort (LOCATION Klausel) verwendest und das Verzeichnis nicht leer ist, kann eine Fehlermeldung wie diese auftreten:
Error: Cannot createtable because the location isnot empty.Bereitgestellt von
Dieser Fehler tritt auf, weil der Befehl CREATE TABLE ein leeres Verzeichnis für den angegebenen Speicherort erwartet, aber vorhandene Dateien oder Metadaten dieser Anforderung widersprechen.
Um diesen Fehler zu beheben, verwende die Anweisung CREATE OR REPLACE TABLE, um bestehende Daten und Metadaten zu überschreiben. Oder du räumst das Verzeichnis manuell auf, bevor du die Anweisung CREATE TABLE verwendest.
CREATEORREPLACETABLE delta_table
USING DELTA
LOCATION '/mnt/data/delta_table';-- Overwrites table and filesBereitgestellt von
Schema-Unstimmigkeiten oder Probleme mit bestimmten Datentypen
Das Einfügen oder Abfragen von Daten führt zu Schema-Mismatch-Fehlern wie:
Error: Schema mismatch: Expected columntype STRING, but found INT.Bereitgestellt von
Der Fehler könnte durch eine Unstimmigkeit zwischen dem Schema der Tabelle und den eingehenden Datentypen verursacht werden. Außerdem können nicht unterstützte oder zweideutige Datentypkonvertierungen (z. B. komplexe verschachtelte Typen) zu einer Schemafehlanpassung führen. Um diesen Fehler zu beheben, erzwinge den Schemaabgleich, um das Schema bei der Tabellenerstellung zu überprüfen, oder verwende die Schemaerzwingung in Delta-Tabellen.
-- Enforce schema matching during table creationCREATETABLE schema_table (
id INT,
name STRING
)USING DELTA
TBLPROPERTIES ('delta.schema.enforce'='true');-- Enforces strict schemaBereitgestellt von
Außerdem solltest du eine Schemaentwicklung zulassen, wenn du neue Spalten hinzufügst oder Datentypen änderst.
ALTERTABLE schema_table ADDCOLUMNS(new_column DOUBLE);Bereitgestellt von
Die Verwendung von explizitem Typ-Casting beim Einfügen von Daten sollte ebenfalls helfen, diese Art von Fehler zu beheben.
INSERTINTO schema_table SELECT CAST(id ASINT), CAST(name AS STRING)FROM source_table;Bereitgestellt von
Einschränkungen bei gleichzeitigen Transaktionen mit Identitätsspalten
Bei der Verwendung von Identitätsspalten können Probleme im Zusammenhang mit gleichzeitigen Transaktionen auftreten, wie z. B:
Error: Concurrent transactions detected onidentitycolumntableBereitgestellt von
Identitätsspalten sind zustandsabhängig und können in Konflikt geraten, wenn mehrere Transaktionen gleichzeitig versuchen, Daten einzufügen. Um diesen Fehler zu beheben, verwenden Sie Ersatzschlüssel, um Identitätsspalten durch deterministische Ersatzschlüssel zu ersetzen, die mit Funktionen wie uuid() oder monotonically_increasing_id() erzeugt werden.
CREATETABLE better_table ASSELECT
monotonically_increasing_id()AS id,-- Replaces identity column
name, department
FROM source_data;Bereitgestellt von
Du kannst Delta Lakes MERGE auch für komplexe Einfüge- und Aktualisierungsworkflows nutzen, ohne auf Identitätsspalten angewiesen zu sein.
MERGEINTO target_table AS t
USING source_table AS s
ON t.id = s.id
WHENMATCHEDTHENUPDATESET*WHENNOTMATCHEDTHENINSERT*;Bereitgestellt von
Fazit
In Databricks ist der Befehl CREATE TABLE ein vielseitiges Werkzeug zur Definition von Datenstrukturen, zur Verknüpfung mit externen Daten und zur Ableitung neuer Datensätze durch Abfragen. Es ist wichtig, die verschiedenen Syntaxen für das Erstellen und Verwalten von Tabellen in Databricks zu verstehen, die deinen Bedürfnissen entsprechen. Wie du gesehen hast, gibt es verschiedene Methoden, um Tabellen zu erstellen.
Wenn du die grundlegenden Konzepte von Databricks kennenlernen möchtest, empfehle ich dir den Kurs Einführung in Databricks von DataCamp, um mehr über Databricks als Data Warehousing-Lösung für Business Intelligence (BI) zu erfahren. Ich empfehle auch einen Blick in unseren Blogbeitrag Databricks-Zertifizierungen im Jahr 2025, um zu erfahren, wie du Databricks-Zertifizierungen erlangen kannst, welche Vorteile du für deine Karriere hast und wie du die richtige Zertifizierung für deine Karriereziele auswählst.
Ich verfasse Artikel, die Datenwissenschaft und Analytik vereinfachen und leicht verständlich und zugänglich machen.
Databricks CREATE TABLE FAQs
Was ist der Zweck des Befehls CREATE TABLE in Databricks?⌄
Mit dem Befehl CREATE TABLE kannst du eine neue Tabelle in Databricks definieren und das Schema, das Datenformat und den Speicherort der Tabelle festlegen.
Was ist der Unterschied zwischen verwalteten und externen Tabellen?⌄
Verwaltete Tabellen speichern sowohl Metadaten als auch Daten in Databricks, während externe Tabellen nur Metadaten speichern und die Daten an einem externen Ort belassen.
Ist eine externe Tabelle dasselbe wie eine nicht verwaltete Tabelle? ⌄
Ja, externe Tabellen und nicht verwaltete Tabellen beziehen sich auf dasselbe Konzept in Databricks. Sie speichern die Metadaten in Databricks, die eigentlichen Daten aber an einem externen Ort, so dass du den Lebenszyklus der Daten unabhängig verwalten kannst.
Was ist ein oberflächlicher vs. tiefer Klon?⌄
Ein flacher Klon kopiert nur die Metadaten, während ein tiefer Klon sowohl die Daten als auch die Metadaten dupliziert.
Was sind temporäre Tabellen?⌄
Temporäre Tabellen existieren nur innerhalb der aktuellen Sitzung und werden nach dem Ende der Sitzung automatisch gelöscht.
Was ist die Schemaentwicklung in Databricks?⌄
Mit der Schemaentwicklung kannst du das Schema einer bestehenden Tabelle ändern (z. B. Spalten hinzufügen oder ändern), ohne die gesamte Tabelle neu erstellen zu müssen, was besonders bei Delta-Tabellen von Vorteil ist.
Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Erforsche Pythons match-case: eine Anleitung zu seiner Syntax, Anwendungen in Data Science und ML sowie eine vergleichende Analyse mit dem traditionellen switch-case.
Databricks Tabellen sind eine Kernkomponente der Databricks Lakehouse Plattform, die für die Speicherung und Verarbeitung großer Datenmengen entwickelt wurde. Diese Tabellen ermöglichen eine teamübergreifende Zusammenarbeit, indem sie strukturierte und unstrukturierte Daten zusammenführen und gleichzeitig analytische Workloads unterstützen.
In diesem Artikel führe ich dich durch die verschiedenen Techniken zur Erstellung von Tabellen in Databricks mit dem Befehl
CREATE TABLE. Dabei gibt es mehrere Syntaxvarianten, um verschiedenen Anwendungsfällen gerecht zu werden. Außerdem gebe ich dir Tipps, wie du Tabellen in Databricks am effizientesten und zuverlässigsten erstellen und verwalten kannst.Für den Anfang empfehle ich dir einen Blick auf DataCamps How to Learn Databricks: Der Blogbeitrag A Beginner's Guide to the Unified Data Platform hilft dir, die wichtigsten Funktionen und Anwendungen von Databricks zu verstehen und bietet dir einen strukturierten Weg, um mit dem Lernen zu beginnen. Ich empfehle dir auch unseren Kurs Einführung in Databricks zu besuchen. Auch wenn du Erfahrung mit SQL hast, wirst du sehen, dass die Dinge auf der Databricks Lakehouse-Plattform anders aussehen können. Die interaktiven Übungen in unserem Kurs führen dich durch SQL-Abfragen sowie durch Plattformfunktionen und externe Systemverbindungen.
Einführung in Databricks Tabellen
Zunächst einmal sollten wir sagen, dass Databricks Tabellen strukturierte Datensätze sind, die die Datenorganisation und den Zugriff innerhalb der Databricks Lakehouse Umgebung erleichtern. Es gibt zwei Arten:
Tabellen in Databricks sind aufgrund ihrer fortschrittlichen Funktionen und Optimierungen oft auf Delta Lake voreingestellt. Delta Lake bietet ACID-Transaktionen,Skalierbarkeit,Leistungsverbesserungen wie Optimierungen wie Caching und Indizierung sowieeine einheitliche Batch- und Streaming-Datenverarbeitung.
In den frühen Versionen von Azure Databricks wurden noch die alten Tabellen im "Hive-Format" verwendet, die durch die modernen Delta-Tabellen ersetzt wurden. Insgesamt übertreffen moderne Delta-Tabellen die alten Hive-Tabellen an Zuverlässigkeit und Leistung, was sie zur Standardwahl für Databricks-Workflows macht.
Hier ist eine Zusammenfassung, die dir helfen könnte, den Unterschied zwischen den beiden zu erkennen:
CREATE TABLE Syntax Variationen
Der Befehl
CREATE TABLEin Databricks unterstützt mehrere Varianten, um verschiedenen Fällen gerecht zu werden. Jede Variante hat ihren Zweck, mit gezielten Optionen wie Dateispeicherort, Klonen und Metadatenverwaltung. Wenn du dein Wissen über Databricks SQL auffrischen möchtest, empfehle ich dir, unser Databricks SQL-Tutorial zu lesen, in dem du unter anderem erfährst, wie du ein Notebook in einem Databricks SQL-Warehouse verwenden kannst.Im Folgenden findest du die wichtigsten Syntaxarten mit Beispielen und Erklärungen.
TABELLE ERSTELLEN [MIT]
Diese Syntax erstellt eine neue Tabelle mit einem bestimmten Schema und Datenformat. Die folgende Abfrage erstellt eine Tabelle mit dem Namen
sales_data, indem sie Daten aus Parkettdateien liest, die an einem bestimmten Ort gespeichert sind.CREATE TABLE (Hive-Format)
Diese Legacy-Syntax ähnelt dem Standard-SQL-Befehl
CREATE TABLE, der bei der Definition einer Tabelle mit von Databricks verwalteten Metadaten verwendet wird, ohne dass auf externe Dateien verwiesen werden muss. Die folgende Abfrage erstellt eine Tabelle im Hive-Stil namenshive_tablemit einem vordefinierten Schema und zusätzlichen Metadateneigenschaften.In der obigen Abfrage fügt die Klausel
COMMENTbeschreibende Metadaten hinzu, währendTBLPROPERTIESbenutzerdefinierte Eigenschaften über die Tabelle speichert.TABELLE ERSTELLEN WIE
Dieser Befehl erstellt eine neue Tabelle unter Verwendung des Schemas und der Eigenschaften einer bestehenden Tabelle. Du solltest diese Syntax verwenden, wenn du die Struktur einer bestehenden Tabelle replizieren willst, ohne ihre Daten zu kopieren. Dies ist für Test- oder Entwicklungszwecke nützlich.
TABELLE ERSTELLEN KLON
Mit dieser Syntax kannst du eine neue Tabelle erstellen, indem du eine bestehende Delta Lake-Tabelle klonst, entweder als tiefen oder flachen Klon. Daher solltest du die
CREATE TABLE CLONESyntax verwenden, wenn du eine unabhängige Kopie der Daten und Metadaten einer Tabelle (deep clone) oder nur die Metadaten mit Verweis auf die Originaldaten (shallow clone) benötigst. Denke darüber nach, wenn es um die Versionierung oder das Erstellen von Backups geht.Das folgende Beispiel zeigt die Abfragen zum Erstellen von Deep Clone- und shallow Clone-Tabellen in Databricks.
TABELLE ERSTELLEN ODER ERSETZEN
Dieser einzelne, kombinierte Befehl ersetzt eine bestehende Tabelle durch eine neue, wobei derselbe Tabellenname beibehalten wird, als ein einziger Vorgang. Diese Syntax solltest du verwenden, wenn du eine bestehende Tabelle vollständig überschreiben und ihren Namen beibehalten willst. Dies ist besonders nützlich, um die Struktur oder die Daten einer Tabelle zu aktualisieren, ohne sie vorher löschen zu müssen.
Die folgende Beispielabfrage erstellt oder ersetzt die Tabelle
salesmit einem neuen Schema.Es gibt weitere relevante Klauseln, die du mit der
CREATE TABLESyntax in Databricks verwenden kannst, um deine Tabellen nach bestimmten Anforderungen zu verwalten. Im Folgenden findest du eine Zusammenfassung der Verwendung dieser Klauseln. Ich habe nur einige, aber nicht alle davon bereits als Beispiele verwendet.IF NOT EXISTS: Vermeidet Fehler, indem die Erstellung der Tabelle übersprungen wird, wenn sie bereits existiert.USING: Gibt das Dateiformat an (z. B. Delta, Parquet, CSV).EXTERNAL: Deklariert eine Tabelle, in der sich Daten außerhalb des von Databricks verwalteten Speichers befinden.PARTITIONED BY: Definiert Partitionen für die Optimierung großer Datensätze.LOCATION: Zeigt auf das Verzeichnis, das die Daten der Tabelle enthält.TBLPROPERTIES: Fügt Metadaten für benutzerdefinierte Tabellenkonfigurationen und Optimierungen hinzu.Schritt-für-Schritt-Demonstrationen
In diesem Abschnitt zeige ich dir verschiedene Möglichkeiten, Tabellen in Databricks zu erstellen und zu verwalten, mit prägnanten Beispielen und Erklärungen der wichtigsten Klauseln. Ich empfehle dir unser Databricks Tutorial: 7 Konzepte, die jeder Datenspezialist kennen muss Tutorial, um zu lernen, wie man SQL-Befehle auf der Databricks-Plattform ausführt.
Wie man eine leere Tabelle erstellt
Um eine leere Delta-Tabelle zu erstellen, definierst du das Tabellenschema mit Spaltennamen und Datentypen. Verwende die
USING DELTAKlausel, um das Format der Tabelle zu definieren undCOMMENT, um beschreibende Metadaten hinzuzufügen.Diese Abfrage erstellt eine leere Delta-Tabelle namens
employeesmit einem vordefinierten Schema, das Spalten fürid,name,departmentundhire_dateenthält.Wie man eine Tabelle aus vorhandenen Daten erstellt
Um eine Tabelle aus vorhandenen Daten zu erstellen, verknüpfst du die Tabelle mit externen Datendateien in Formaten wie CSV, Parquet oder JSON. Du kannst die
LOCATIONKlausel verwenden, um die Tabelle mit dem Dateipfad zu verknüpfen, und dieUSINGKlausel, um das Datenformat anzugeben.Die folgende Abfrage erstellt zum Beispiel eine Tabelle mit dem Namen
sales_data, indem sie auf die unter/mnt/data/sales_data/gespeicherten Parkettdateien verweist.Wie man eine Tabelle als Select erstellt (CTAS)
Du kannst eine Tabelle auch als Select erstellen, indem du eine Abfrage ausführst und das Ergebnis speicherst. In diesem Szenario füllt die
AS SELECTKlausel die Tabelle mit dem Abfrageergebnis auf.Die folgende Abfrage erstellt zum Beispiel eine neue Tabelle mit dem Namen
high_value_sales, indem sie Daten aus der bestehenden Tabellesales_dataauswählt und umwandelt. Sie filtert Zeilen, in denentotal_amountgrößer als 1000 ist, und behält nur die Spaltensale_id,customer_idundtotal_amountbei.Wie man eine externe Tabelle erstellt
Beim Erstellen einer externen Tabelle wird auf Daten verwiesen, die außerhalb des verwalteten Speichers von Databricks gespeichert sind. Du solltest die
LOCATIONKlausel verwenden, um den Speicherort der externen Daten anzugeben.Die folgende Abfrage erstellt eine externe Delta-Tabelle namens
external_table, indem sie auf die unter/mnt/external_storage/external_table/gespeicherten Daten verweist.Wie man eine Tabelle LIKE erstellt
Um eine Tabelle
LIKEzu erstellen, dupliziere das Schema einer bestehenden Tabelle, ohne ihre Daten zu kopieren. Im folgenden Beispiel erstellt die Abfrage eine neue Tabelle mit dem Namensales_backup, die dasselbe Schema hat wie eine bestehende Tabellesales.Wie man TABLE CLONE erstellt
Mit der
CLONEKlausel kannst du einen Tabellenklon erstellen, um eine flache oder tiefe Kopie einer Delta-Tabelle für Backups oder Tests zu erstellen.Im folgenden Beispiel erstellt die Abfrage eine neue Tabelle,
sales_shallow_clone,kopiert nur die Metadaten (Schema und Eigenschaften der Tabelle).Das folgende Beispiel erstellt eine neue Tabelle,
sales_deep_clone, kopiert aber sowohl die Metadaten als auch die eigentlichen Daten.So erstellst du eine temporäre Tabelle (temp-Tabelle)
Verwende die
TEMPORARYKlausel, wenn du temporäre Tabellen erstellst, um sicherzustellen, dass die Tabelle sitzungsspezifisch ist.Die folgende Abfrage erstellt eine temporäre Tabelle namens
temp_table, die nur für die aktuelle Sitzung existiert. Er wähltid,nameundsales_amountaussales_dataaus und filtert nach Zeilen, in denenregion = 'US'.Wie man eine Tabelle ersetzt
Du kannst die
CREATE OR REPLACEKlausel verwenden, um die Definition und den Inhalt der Tabelle zu ersetzen. Die folgende Abfrage ersetzt die bestehende Tabelleupdated_tabledurch ein neues Schema und neue Daten. Sie definiert die Tabelle mit drei Spalten (id,name,total_sales).Fortgeschrittene Themen
In diesem Abschnitt gehe ich auf erweiterte Tabellenfunktionen von Databricks ein, die die Funktionalität, Leistung und Sicherheit verbessern.
Generierte Spalten und Identitätsspalten
Databricks unterstützt Identitätsspalten, die automatisch eindeutige Werte für jede neue Zeile erzeugen. Diese Funktion ist nützlich für die Erstellung von Ersatzschlüsseln im Data Warehousing.
Die folgende Abfrage erstellt eine Tabelle
employeesmit drei Spalten:id,name, unddepartment. Die Spalteidist eine Identitätsspalte, die mit jeder neuen Zeile automatisch erhöht wird.Diese andere Abfrage erstellt eine Tabelle
salesmit drei Spalten:sale_id,sale_date, undsale_year. Die Spaltesale_yearwird mit Hilfe der FunktionYEAR(sale_date)auf der Grundlage der Spaltesale_dateerstellt und automatisch berechnet.Partitionierung und Clustering
Bei der Partitionierung werden die Daten in kleinere Stücke aufgeteilt, um die Abfrageleistung zu verbessern, während beim Clustering die Daten innerhalb der Partitionen organisiert werden, damit sie schneller gelesen werden können.
Die folgende Abfrage erstellt zum Beispiel eine partitionierte Tabelle, in der die Daten anhand der Spalte
regionin Partitionen aufgeteilt werden, was die Abfrageleistung beim Filtern nach Regionen verbessert.Die folgende Abfrage optimiert die partitionierte Tabelle, indem sie die Daten innerhalb jeder Partition auf der Grundlage der Spalte
sales_amountclustert. Es macht Abfragen aufsales_amountschneller, indem es das Datenlayout für effizientes Lesen verbessert. DieZORDER BYKlausel arbeitet innerhalb von Partitionen, um die Leseleistung zu verbessern, indem sie Daten innerhalb von Partitionen clustert, nicht über Partitionen hinweg.Spaltenmaskierung und Zeilenfilter
Spaltenmaskierung und Zeilenfilter schränken die Sichtbarkeit von Daten auf der Grundlage von Benutzerrollen oder Bedingungen ein und schützen so sensible Informationen.
Die folgende Abfrage erstellt zum Beispiel eine maskierte Ansicht mit dem Namen
masked_tableauf der Grundlage der Tabelleemployees. Die Spaltesalarywird für alle Benutzer mit Ausnahme derjenigen mit der Rollemanagergeschwärzt (durchREDACTEDersetzt). Die AnweisungCASEstellt sicher, dass nur Manager das tatsächliche Gehalt sehen können, während andere die maskierten Daten sehenIn ähnlicher Weise verwendet die folgende Abfrage Zeilenfilter, um eine Ansicht mit dem Namen
filtered_tableauf der Grundlage der Tabellesaleszu erstellen oder zu ersetzen. Die Ansicht filtert die Zeilen so, dass nur Daten mitregion = 'US'angezeigt werden.Schema-Bewertung
Databricks unterstützt die Weiterentwicklung des Schemas durch
CREATE OR REPLACE TABLEund Änderungen an den Tabellen. Du solltest die AnweisungCREATE OR REPLACE TABLEverwenden, um das Schema und die Daten zu überschreiben, und die AnweisungALTER TABLE, um das Schema schrittweise zu ändern, ohne die Daten zu beeinflussen.Die folgende Abfrage ersetzt die bestehende Tabelle
employeesdurch ein neues Schema und fügt eine neue Spaltehire_datehinzu, während die Daten im Delta-Format gespeichert bleiben.Diese andere Abfrage ändert die Tabelle
employees, indem sie eine neue Spaltesalaryin das bestehende Schema einfügt.Leistungsoptimierung
Um die Leistung von großen Tabellen zu optimieren, kannst du verschiedene Tabelleneigenschaften und Techniken wie die automatische Optimierung und die Z-Reihenfolge nutzen.
Im folgenden Beispiel aktiviert die Abfrage die Auto-Optimierung auf
delta_table, indem sie die Eigenschaften so einstellt, dass kleine Dateien automatisch komprimiert und Dateien beim Schreiben zusammengeführt werden, um die Speichereffizienz zu verbessern.In ähnlicher Weise optimiert die folgende Abfrage die
delta_table, indem sie die Daten auf der Grundlage vonregionundsales_dateclustert, um die Abfrageleistung zu verbessern, insbesondere bei Filtern für diese Spalten.Bewährte Praktiken und Überlegungen
Hier sind einige Dinge, die du beim Erstellen von Tabellen in Databricks beachten solltest, damit du alles richtig machst:
Häufige Fallstricke und Fehlerbehebung
Nachdem wir nun die besten Praktiken für die Verwaltung von Tabellen in Databricks besprochen haben, möchte ich auf die häufigsten Probleme eingehen, die bei Databricks-Tabellen auftreten können, sowie auf die typischen Fehlermeldungen und die Lösungen.
Nicht leere Speicherplatzfehler bei der Verwendung von CREATE vs. ERSTELLEN ODER ERSETZEN
Wenn du
CREATE TABLEmit einem bestimmten Ort (LOCATIONKlausel) verwendest und das Verzeichnis nicht leer ist, kann eine Fehlermeldung wie diese auftreten:Dieser Fehler tritt auf, weil der Befehl
CREATE TABLEein leeres Verzeichnis für den angegebenen Speicherort erwartet, aber vorhandene Dateien oder Metadaten dieser Anforderung widersprechen.Um diesen Fehler zu beheben, verwende die Anweisung
CREATE OR REPLACE TABLE, um bestehende Daten und Metadaten zu überschreiben. Oder du räumst das Verzeichnis manuell auf, bevor du die AnweisungCREATE TABLEverwendest.Schema-Unstimmigkeiten oder Probleme mit bestimmten Datentypen
Das Einfügen oder Abfragen von Daten führt zu Schema-Mismatch-Fehlern wie:
Der Fehler könnte durch eine Unstimmigkeit zwischen dem Schema der Tabelle und den eingehenden Datentypen verursacht werden. Außerdem können nicht unterstützte oder zweideutige Datentypkonvertierungen (z. B. komplexe verschachtelte Typen) zu einer Schemafehlanpassung führen. Um diesen Fehler zu beheben, erzwinge den Schemaabgleich, um das Schema bei der Tabellenerstellung zu überprüfen, oder verwende die Schemaerzwingung in Delta-Tabellen.
Außerdem solltest du eine Schemaentwicklung zulassen, wenn du neue Spalten hinzufügst oder Datentypen änderst.
Die Verwendung von explizitem Typ-Casting beim Einfügen von Daten sollte ebenfalls helfen, diese Art von Fehler zu beheben.
Einschränkungen bei gleichzeitigen Transaktionen mit Identitätsspalten
Bei der Verwendung von Identitätsspalten können Probleme im Zusammenhang mit gleichzeitigen Transaktionen auftreten, wie z. B:
Identitätsspalten sind zustandsabhängig und können in Konflikt geraten, wenn mehrere Transaktionen gleichzeitig versuchen, Daten einzufügen. Um diesen Fehler zu beheben, verwenden Sie Ersatzschlüssel, um Identitätsspalten durch deterministische Ersatzschlüssel zu ersetzen, die mit Funktionen wie
uuid()odermonotonically_increasing_id()erzeugt werden.Du kannst Delta Lakes
MERGEauch für komplexe Einfüge- und Aktualisierungsworkflows nutzen, ohne auf Identitätsspalten angewiesen zu sein.Fazit
In Databricks ist der Befehl
CREATE TABLEein vielseitiges Werkzeug zur Definition von Datenstrukturen, zur Verknüpfung mit externen Daten und zur Ableitung neuer Datensätze durch Abfragen. Es ist wichtig, die verschiedenen Syntaxen für das Erstellen und Verwalten von Tabellen in Databricks zu verstehen, die deinen Bedürfnissen entsprechen. Wie du gesehen hast, gibt es verschiedene Methoden, um Tabellen zu erstellen.Wenn du die grundlegenden Konzepte von Databricks kennenlernen möchtest, empfehle ich dir den Kurs Einführung in Databricks von DataCamp, um mehr über Databricks als Data Warehousing-Lösung für Business Intelligence (BI) zu erfahren. Ich empfehle auch einen Blick in unseren Blogbeitrag Databricks-Zertifizierungen im Jahr 2025, um zu erfahren, wie du Databricks-Zertifizierungen erlangen kannst, welche Vorteile du für deine Karriere hast und wie du die richtige Zertifizierung für deine Karriereziele auswählst.