View a markdown version of this page

Lake Formation Vollzugriff auf Tabellen für EMR Serverless - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Lake Formation Vollzugriff auf Tabellen für EMR Serverless

Mit den Amazon EMR-Versionen 7.8.0 und höher können Sie AWS Lake Formation mit Glue Data Catalog nutzen, wobei die Job-Runtime-Rolle über vollständige Tabellenberechtigungen verfügt, ohne die Einschränkungen einer detaillierten Zugriffskontrolle. Diese Funktion ermöglicht es Ihnen, von Ihren EMR Serverless Spark-Batch- und interaktiven Jobs aus zu lesen und in Tabellen zu schreiben, die durch Lake Formation geschützt sind. In den folgenden Abschnitten erfahren Sie mehr über Lake Formation und dessen Verwendung mit EMR Serverless.

Lake Formation mit vollständigem Tabellenzugriff verwenden

Sie können auf AWS Lake Formation Formation-geschützte Glue Data-Katalogtabellen von EMR Serverless Spark-Jobs oder interaktiven Sitzungen aus zugreifen, in denen die Runtime-Rolle des Jobs vollen Tabellenzugriff hat. Sie müssen AWS Lake Formation in der EMR Serverless-Anwendung nicht aktivieren. Wenn ein Spark-Job für Full Table Access (FTA) konfiguriert ist, werden AWS Lake Formation-Anmeldeinformationen für read/write S3-Daten für in AWS Lake Formation registrierte Tabellen verwendet, während die Anmeldeinformationen für die Laufzeitrolle des Jobs für read/write Tabellen verwendet werden, die nicht bei AWS Lake Formation registriert sind.

Wichtig

Aktivieren Sie AWS Lake Formation nicht für eine detaillierte Zugriffskontrolle. Ein Job kann nicht gleichzeitig Full Table Access (FTA) und Fine-Grained Access Control (FGAC) auf demselben EMR-Cluster oder derselben EMR-Applikation ausführen.

Schritt 1: Vollständigen Tabellenzugriff in Lake Formation aktivieren

Um den Modus Full Table Access (FTA) zu verwenden, müssen Sie Drittanbieter-Abfrage-Engines den Zugriff auf Daten ohne die IAM-Sitzungs-Tag-Validierung in AWS Lake Formation gestatten. Folgen Sie zur Aktivierung den Schritten unter Application integration for full table access.

Anmerkung

Beim Zugriff auf kontenübergreifende Tabellen muss der Zugriff auf vollständige Tabellen sowohl in Producer- als auch in Consumer-Konten aktiviert sein. Ebenso muss diese Einstellung beim Zugriff auf regionsübergreifende Tabellen sowohl in Erzeuger- als auch in Verbraucherregionen aktiviert sein.

Schritt 2: Einrichten der IAM-Berechtigungen für die Auftrag-Laufzeitrolle

Für den Lese- oder Schreibzugriff auf zugrunde liegende Daten benötigt eine Job-Runtime-Rolle zusätzlich zu den Lake Formation Formation-Berechtigungen die lakeformation:GetDataAccess IAM-Berechtigung. Mit dieser Berechtigung gewährt Lake Formation die Anforderung von temporären Anmeldeinformationen für den Zugriff auf die Daten.

Im Folgenden finden Sie eine Beispielrichtlinie für die Bereitstellung von IAM-Berechtigungen für den Zugriff auf ein Skript in Amazon S3, für das Hochladen von Protokollen auf S3, für AWS Glue-API-Berechtigungen und für den Zugriff auf Lake Formation.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ScriptAccess", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::*.amzn-s3-demo-bucket/scripts" ] }, { "Sid": "LoggingAccess", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/logs/*" ] }, { "Sid": "GlueCatalogAccess", "Effect": "Allow", "Action": [ "glue:Get*", "glue:Create*", "glue:Update*" ], "Resource": [ "*" ] }, { "Sid": "LakeFormationAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ] } ] }

Schritt 2.1 Lake Formation Formation-Berechtigungen konfigurieren

  • Spark-Jobs, die Daten aus S3 lesen, benötigen die Lake Formation SELECT-Berechtigung.

  • Spark-Jobs, für die write/delete Daten in S3 ist die Lake Formation ALL (SUPER) -Genehmigung erforderlich.

  • Spark-Jobs, die mit dem Glue-Datenkatalog interagieren, benötigen die entsprechenden DESCRIBE-, ALTER- und DROP-Berechtigungen.

Weitere Informationen finden Sie unter Erteilen von Berechtigungen für Datenkatalogressourcen.

Schritt 3: Initialisieren Sie eine Spark-Sitzung für den vollständigen Tabellenzugriff mit Lake Formation

Voraussetzungen

AWS Der Glue Data Catalog muss als Metastore konfiguriert werden, um auf Lake Formation-Tabellen zugreifen zu können.

Legen Sie die folgenden Einstellungen fest, um den Glue-Katalog als Metastore zu konfigurieren:

--conf spark.sql.catalogImplementation=hive --conf spark.hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory

Weitere Informationen zur Aktivierung von Data Catalog for EMR Serverless finden Sie unter Metastore-Konfiguration für EMR Serverless.

Um auf Tabellen zuzugreifen, die bei AWS Lake Formation registriert sind, müssen die folgenden Konfigurationen während der Spark-Initialisierung festgelegt werden, um Spark für die Verwendung von AWS Lake Formation Formation-Anmeldeinformationen zu konfigurieren.

Hive
‐‐conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
Iceberg
--conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=S3_DATA_LOCATION --conf spark.sql.catalog.spark_catalog.client.region=REGION --conf spark.sql.catalog.spark_catalog.type=glue --conf spark.sql.catalog.spark_catalog.glue.account-id=ACCOUNT_ID --conf spark.sql.catalog.spark_catalog.glue.lakeformation-enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
Delta Lake
‐‐conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
Hudi
‐‐conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true --conf spark.jars=/usr/lib/hudi/hudi-spark-bundle.jar --conf spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension --conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog --conf spark.serializer=org.apache.spark.serializer.KryoSerializer
  • spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver: Konfigurieren Sie EMR Filesystem (EMRFS) oder EMR S3A so, dass Lake Formation S3-Anmeldeinformationen für registrierte AWS Lake Formation-Tabellen verwendet werden. Wenn die Tabelle nicht registriert ist, verwenden Sie die Anmeldeinformationen für die Auftrag-Laufzeitrolle.

  • spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true und spark.hadoop.fs.s3.folderObject.autoAction.disabled=true: Konfigurieren Sie EMRFS so, dass beim Erstellen von S3-Ordnern der Content-Type-Header „application/x-directory“ anstelle des Suffixes „$folder$“ verwendet wird. Dies ist beim Lesen von Lake Formation-Tabellen erforderlich, da die Anmeldeinformationen von Lake Formation das Lesen von Tabellenordnern mit dem Suffix $folder$ nicht zulassen.

  • spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true: Konfigurieren Sie Spark so, dass die Überprüfung, ob der Tabellenspeicherort leer ist, vor der Erstellung übersprungen wird. Dies ist für in Lake Formation registrierte Tabellen erforderlich, da die Anmeldeinformationen für Lake Formation zur Überprüfung des leeren Speicherorts erst nach der Erstellung der Glue Data Catalog-Tabelle verfügbar sind. Ohne diese Konfiguration validieren die Anmeldeinformationen für die Auftrag-Laufzeitrolle den Speicherort der leeren Tabelle.

  • spark.sql.catalog.createDirectoryAfterTable.enabled=true: Konfigurieren Sie Spark so, dass der Amazon-S3-Ordner nach der Tabellenerstellung im Hive-Metastore erstellt wird. Dies ist für in Lake Formation registrierte Tabellen erforderlich, da die Anmeldeinformationen für Lake Formation zum Erstellen des S3-Ordners erst nach der Erstellung der Glue Data Catalog-Tabelle verfügbar sind.

  • spark.sql.catalog.dropDirectoryBeforeTable.enabled=true: Konfigurieren Sie Spark so, dass der S3-Ordner vor dem Löschen der Tabelle im Hive-Metastore gelöscht wird. Dies ist für in Lake Formation registrierte Tabellen erforderlich, da die Lake Formation Formation-Anmeldeinformationen zum Löschen des S3-Ordners nach dem Löschen der Tabelle aus dem Glue-Datenkatalog nicht verfügbar sind.

  • spark.sql.catalog.<catalog>.glue.lakeformation-enabled=true: Konfigurieren Sie den Iceberg-Katalog so, dass er AWS Lake Formation S3-Anmeldeinformationen für registrierte Lake Formation-Tabellen verwendet. Wenn die Tabelle nicht registriert ist, verwenden Sie die Standardanmeldeinformationen für die Umgebung.

Konfigurieren Sie den vollständigen Tabellenzugriffsmodus in SageMaker Unified Studio

Verwenden Sie den Kompatibilitätsberechtigungsmodus, um über interaktive Spark-Sitzungen in JupyterLab Notebooks auf registrierte Tabellen von Lake Formation zuzugreifen. Verwenden Sie den magischen Befehl %%configure, um Ihre Spark-Konfiguration einzurichten. Wählen Sie die Konfiguration basierend auf Ihrem Tabellentyp aus:

For Hive tables
%%configure -f { "conf": { "spark.hadoop.fs.s3.credentialsResolverClass": "com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver", "spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject": true, "spark.hadoop.fs.s3.folderObject.autoAction.disabled": true, "spark.sql.catalog.skipLocationValidationOnCreateTable.enabled": true, "spark.sql.catalog.createDirectoryAfterTable.enabled": true, "spark.sql.catalog.dropDirectoryBeforeTable.enabled": true } }
For Iceberg tables
%%configure -f { "conf": { "spark.sql.catalog.spark_catalog": "org.apache.iceberg.spark.SparkSessionCatalog", "spark.sql.catalog.spark_catalog.warehouse": "S3_DATA_LOCATION", "spark.sql.catalog.spark_catalog.client.region": "REGION", "spark.sql.catalog.spark_catalog.type": "glue", "spark.sql.catalog.spark_catalog.glue.account-id": "ACCOUNT_ID", "spark.sql.catalog.spark_catalog.glue.lakeformation-enabled": "true", "spark.sql.catalog.dropDirectoryBeforeTable.enabled": "true", } }
For Delta Lake tables
%%configure -f { "conf": { "spark.hadoop.fs.s3.credentialsResolverClass": "com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver", "spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject": true, "spark.hadoop.fs.s3.folderObject.autoAction.disabled": true, "spark.sql.catalog.skipLocationValidationOnCreateTable.enabled": true, "spark.sql.catalog.createDirectoryAfterTable.enabled": true, "spark.sql.catalog.dropDirectoryBeforeTable.enabled": true } }
For Hudi tables
%%configure -f { "conf": { "spark.hadoop.fs.s3.credentialsResolverClass": "com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver", "spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject": true, "spark.hadoop.fs.s3.folderObject.autoAction.disabled": true, "spark.sql.catalog.skipLocationValidationOnCreateTable.enabled": true, "spark.sql.catalog.createDirectoryAfterTable.enabled": true, "spark.sql.catalog.dropDirectoryBeforeTable.enabled": true, "spark.jars": "/usr/lib/hudi/hudi-spark-bundle.jar", "spark.sql.extensions": "org.apache.spark.sql.hudi.HoodieSparkSessionExtension", "spark.sql.catalog.spark_catalog": "org.apache.spark.sql.hudi.catalog.HoodieCatalog", "spark.serializer": "org.apache.spark.serializer.KryoSerializer" } }

Ersetzen Sie die Platzhalter:

  • S3_DATA_LOCATION: Ihr S3-Bucket-Pfad

  • REGION: AWS Region (z. B. us-east-1)

  • ACCOUNT_ID: Ihre Konto-ID AWS

Anmerkung

Sie müssen diese Konfigurationen festlegen, bevor Sie Spark-Operationen in Ihrem Notebook ausführen.

Unterstützte Vorgänge

Bei diesen Vorgängen werden AWS Lake Formation Formation-Anmeldeinformationen für den Zugriff auf die Tabellendaten verwendet.

  • CREATE TABLE

  • ALTER TABLE

  • INSERT INTO

  • INSERT OVERWRITE

  • UPDATE

  • MERGE INTO

  • DELETE FROM

  • ANALYZE TABLE

  • REPAIR TABLE

  • DROP TABLE

  • Spark-Datenquellenabfragen

  • Spark-Datenquellenschreibvorgänge

Anmerkung

Operationen, die oben nicht aufgeführt sind, verwenden weiterhin IAM-Berechtigungen für den Zugriff auf Tabellendaten.

Überlegungen

  • Wenn eine Hive-Tabelle mit einem Job erstellt wird, für den der vollständige Tabellenzugriff nicht aktiviert ist, und keine Datensätze eingefügt werden, schlagen nachfolgende Lese- oder Schreibvorgänge aus einem Job mit vollständigem Tabellenzugriff fehl. Dies liegt daran, dass EMR Spark ohne vollständigen Tabellenzugriff das $folder$ Suffix zum Namen des Tabellenordners hinzufügt. Um dieses Problem zu lösen, haben Sie folgende Möglichkeiten:

    • Fügen Sie mindestens eine Zeile aus einem Auftrag in die Tabelle ein, für den FTA nicht aktiviert ist.

    • Konfigurieren Sie den Job, für den FTA nicht aktiviert ist, so, dass er in S3 kein $folder$ Suffix im Ordnernamen verwendet. Dies kann durch Einstellen der Spark-Konfiguration spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true erreicht werden.

    • Erstellen Sie mit der S3-Konsole oder AWS der S3-CLI einen AWS S3-Ordner am Speicherort s3://path/to/table/table_name der Tabelle.

  • Vollständiger Tabellenzugriff wird mit dem EMR-Dateisystem (EMRFS) ab Amazon EMR-Version 7.8.0 und mit dem S3A-Dateisystem ab Amazon EMR-Version 7.10.0 unterstützt.

  • Full Table Access wird für Hive-, Iceberg-, Delta- und Hudi-Tabellen unterstützt.

  • Überlegungen zum Hudi FTA Write Support:

    • Hudi FTA Writes müssen HoodieCredentialedHadoopStorage für den Verkauf von Anmeldeinformationen während der Auftragsausführung verwendet werden. Stellen Sie die folgende Konfiguration ein, wenn Sie Hudi-Jobs ausführen: hoodie.storage.class=org.apache.spark.sql.hudi.storage.HoodieCredentialedHadoopStorage

    • Full Table Access (FTA) -Schreibunterstützung für Hudi ist ab Amazon EMR Version 7.12 verfügbar.

    • Die Hudi FTA-Schreibunterstützung funktioniert derzeit nur mit den Hudi-Standardkonfigurationen. Benutzerdefinierte oder nicht standardmäßige Hudi-Einstellungen werden möglicherweise nicht vollständig unterstützt und können zu unerwartetem Verhalten führen.

    • Clustering für Hudi-Tabellen Merge-On-Read (MOR) wird derzeit im FTA-Schreibmodus nicht unterstützt.

  • Jobs, die auf Tabellen mit Lake Formation Fine-Grained Access Control (FGAC) -Regeln oder Glue Data Catalog Views verweisen, schlagen fehl. Um eine Tabelle mit FGAC-Regeln oder einer Glue-Datenkatalogsicht abzufragen, müssen Sie den FGAC-Modus verwenden. Sie können den FGAC-Modus aktivieren, indem Sie die in der AWS Dokumentation beschriebenen Schritte ausführen: Verwenden von EMR Serverless with AWS Lake Formation für eine detaillierte Zugriffskontrolle.

  • Der vollständige Tabellenzugriff unterstützt Spark Streaming nicht.

  • Beim Schreiben von Spark DataFrame in eine Lake Formation-Tabelle wird nur der APPEND-Modus für Hive- und Iceberg-Tabellen unterstützt: df.write.mode("append").saveAsTable(table_name)

  • Für das Erstellen externer Tabellen sind IAM-Berechtigungen erforderlich.

  • Da Lake Formation Anmeldeinformationen vorübergehend innerhalb eines Spark-Jobs zwischenspeichert, spiegelt ein Spark-Batchjob oder eine interaktive Sitzung, die gerade ausgeführt wird, möglicherweise keine Berechtigungsänderungen wider.

  • Sie müssen eine benutzerdefinierte Rolle und keine dienstverknüpfte Rolle verwenden: Lake Formation Formation-Anforderungen für Rollen.

Hudi FTA Write Support - Unterstützte Operationen

Die folgende Tabelle zeigt die unterstützten Schreibvorgänge für Hudi- Copy-On-Write (COW) - und Merge-On-Read (MOR) -Tabellen im Modus „Vollständiger Tabellenzugriff“:

Von Hudi FTA unterstützte Schreibvorgänge
Tabellentyp Operation SQL Write-Befehl Status
KUH INSERT INSERT INTO TABLE Unterstützt
KUH INSERT IN TABELLE EINFÜGEN — PARTITION (statisch, dynamisch) Unterstützt
KUH INSERT INSERT OVERWRITE Unterstützt
KUH INSERT INSERT OVERWRITE - PARTITION (statisch, dynamisch) Unterstützt
UPDATE UPDATE UPDATE TABLE Unterstützt
KUH UPDATE TABELLE AKTUALISIEREN — Partition ändern Nicht unterstützt
DELETE DELETE DELETE FROM TABLE Unterstützt
ALTER ALTER TABELLE ÄNDERN - UMBENENNEN IN Nicht unterstützt
KUH ALTER TABELLE ÄNDERN - TABELLENEIGENSCHAFTEN FESTLEGEN Unterstützt
KUH ALTER TABELLE ÄNDERN - TBLPROPERTIES DEAKTIVIEREN Unterstützt
KUH ALTER TABELLE ÄNDERN - SPALTE ÄNDERN Unterstützt
KUH ALTER TABELLE ÄNDERN - SPALTEN HINZUFÜGEN Unterstützt
KUH ALTER TABELLE ÄNDERN - PARTITION HINZUFÜGEN Unterstützt
KUH ALTER TABELLE ÄNDERN - PARTITION LÖSCHEN Unterstützt
KUH ALTER TABELLE ÄNDERN - PARTITIONEN WIEDERHERSTELLEN Unterstützt
KUH ALTER REPARIERE TABELLENSYNCHRONISIERUNGSPARTITIONEN Unterstützt
DROP DROP DROP TABLE Unterstützt
KUH DROP TABELLE LÖSCHEN - LÖSCHEN Unterstützt
CREATE CREATE TABELLE ERSTELLEN — Verwaltet Unterstützt
KUH CREATE TABELLE ERSTELLEN - PARTITIONIEREN NACH Unterstützt
KUH CREATE TABELLE ERSTELLEN, FALLS SIE NICHT EXISTIERT Unterstützt
KUH CREATE CREATE TABLE LIKE Unterstützt
KUH CREATE CREATE TABLE AS SELECT Unterstützt
CREATE CREATE TABELLE MIT STANDORT ERSTELLEN — Externe Tabelle Nicht unterstützt
DATENRAHMEN (EINFÜGEN) DATENRAHMEN (EINFÜGEN) saveAsTable. Überschreiben Unterstützt
KUH DATENRAHMEN (EINFÜGEN) saveAsTable. Anhängen Nicht unterstützt
KUH DATENRAHMEN (EINFÜGEN) saveAsTable. Ignorieren Unterstützt
KUH DATENRAHMEN (EINFÜGEN) saveAsTable.ErrorIfExists Unterstützt
KUH DATENRAHMEN (EINFÜGEN) saveAsTable - Externe Tabelle (Pfad) Nicht unterstützt
KUH DATENRAHMEN (EINFÜGEN) speichern (Pfad) — DF v1 Nicht unterstützt
MEHR INSERT INSERT INTO TABLE Unterstützt
MEHR INSERT IN TABELLE EINFÜGEN — PARTITION (statisch, dynamisch) Unterstützt
MEHR INSERT INSERT OVERWRITE Unterstützt
MEHR INSERT INSERT OVERWRITE - PARTITION (statisch, dynamisch) Unterstützt
UPDATE UPDATE UPDATE TABLE Unterstützt
MEHR UPDATE TABELLE AKTUALISIEREN — Partition ändern Nicht unterstützt
DELETE DELETE DELETE FROM TABLE Unterstützt
ALTER ALTER TABELLE ÄNDERN - UMBENENNEN IN Nicht unterstützt
MEHR ALTER TABELLE ÄNDERN - TABELLENEIGENSCHAFTEN FESTLEGEN Unterstützt
MEHR ALTER TABELLE ÄNDERN - TABELLENEIGENSCHAFTEN DEAKTIVIEREN Unterstützt
MEHR ALTER TABELLE ÄNDERN - SPALTE ÄNDERN Unterstützt
MEHR ALTER TABELLE ÄNDERN - SPALTEN HINZUFÜGEN Unterstützt
MEHR ALTER TABELLE ÄNDERN - PARTITION HINZUFÜGEN Unterstützt
MEHR ALTER TABELLE ÄNDERN - PARTITION LÖSCHEN Unterstützt
MEHR ALTER TABELLE ÄNDERN - PARTITIONEN WIEDERHERSTELLEN Unterstützt
MEHR ALTER REPARIERE TABELLENSYNCHRONISIERUNGSPARTITIONEN Unterstützt
DROP DROP DROP TABLE Unterstützt
MEHR DROP TABELLE LÖSCHEN - LÖSCHEN Unterstützt
CREATE CREATE TABELLE ERSTELLEN — Verwaltet Unterstützt
MEHR CREATE TABELLE ERSTELLEN - PARTITIONIEREN NACH Unterstützt
MEHR CREATE TABELLE ERSTELLEN, FALLS NICHT VORHANDEN Unterstützt
MEHR CREATE CREATE TABLE LIKE Unterstützt
MEHR CREATE CREATE TABLE AS SELECT Unterstützt
CREATE CREATE TABELLE MIT STANDORT ERSTELLEN - Externe Tabelle Nicht unterstützt
DATENRAHMEN (UPSERT) DATENRAHMEN (UPSERT) saveAsTable. Überschreiben Unterstützt
MEHR DATENRAHMEN (VERÄRGERT) saveAsTable. Anhängen Nicht unterstützt
MEHR DATENRAHMEN (VERÄRGERT) saveAsTable. Ignorieren Unterstützt
MEHR DATENRAHMEN (VERÄRGERT) saveAsTable.ErrorIfExists Unterstützt
MEHR DATENRAHMEN (VERÄRGERT) saveAsTable - Externe Tabelle (Pfad) Nicht unterstützt
MEHR DATENRAHMEN (VERÄRGERT) speichern (Pfad) — DF v1 Nicht unterstützt
DATENRAHMEN (LÖSCHEN) DATENRAHMEN (LÖSCHEN) saveAsTable. Anhängen Nicht unterstützt
MEHR DATENRAHMEN (LÖSCHEN) saveAsTable - Externe Tabelle (Pfad) Nicht unterstützt
MEHR DATENRAHMEN (LÖSCHEN) speichern (Pfad) — DF v1 Nicht unterstützt
DATENRAHMEN (BULK_INSERT) DATENRAHMEN (BULK_INSERT) saveAsTable. Überschreiben Unterstützt
MEHR DATENRAHMEN (BULK_INSERT) saveAsTable. Anhängen Nicht unterstützt
MEHR DATENRAHMEN (BULK_INSERT) saveAsTable. Ignorieren Unterstützt
MEHR DATENRAHMEN (BULK_INSERT) saveAsTable.ErrorIfExists Unterstützt
MEHR DATENRAHMEN (BULK_INSERT) saveAsTable - Externe Tabelle (Pfad) Nicht unterstützt
MEHR DATENRAHMEN (BULK_INSERT) speichern (Pfad) — DF v1 Nicht unterstützt