Kopieren und Transformieren von Daten in Microsoft Fabric Warehouse mithilfe von Azure Data Factory oder Azure Synapse Analytics
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
In diesem Artikel wird beschrieben, wie Sie die Copy-Aktivität verwenden, um Daten aus und in Microsoft Fabric Warehouse zu kopieren. Um mehr zu lernen, lesen Sie den Einführungsartikel für Azure Data Factory oder Azure Synapse Analytics.
Unterstützte Funktionen
Dieser Microsoft Fabric Warehouse-Connector wird für die folgenden Funktionen unterstützt:
Unterstützte Funktionen | IR | Verwalteter privater Endpunkt |
---|---|---|
Kopieraktivität (Quelle/Senke) | ① ② | ✓ |
Lookup-Aktivität | ① ② | ✓ |
GetMetadata-Aktivität | ① ② | ✓ |
Skriptaktivität | ① ② | ✓ |
Aktivität „Gespeicherte Prozedur“ | ① ② | ✓ |
① Azure Integration Runtime ② Selbstgehostete Integration Runtime
Erste Schritte
Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:
- Das Tool „Daten kopieren“
- Azure-Portal
- Das .NET SDK
- Das Python SDK
- Azure PowerShell
- Die REST-API
- Die Azure Resource Manager-Vorlage
Erstellen eines verknüpften Microsoft Fabric Warehouse-Diensts mithilfe der Benutzeroberfläche
Führen Sie die folgenden Schritte aus, um einen verknüpften Microsoft Fabric Warehouse-Dienst über die Benutzeroberfläche des Azure-Portals zu erstellen.
Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte Verwalten, und wählen Sie „Verknüpfte Dienste“ und anschließend „Neu“ aus:
Suchen Sie nach „Warehouse“, und wählen Sie den Connector aus.
Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.
Details zur Connector-Konfiguration
Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zum Definieren von speziellen Data Factory-Entitäten für Microsoft Fabric Warehouse verwendet werden.
Eigenschaften des verknüpften Diensts
Der Microsoft Fabric Warehouse-Connector unterstützt die folgenden Authentifizierungstypen. Weitere Informationen finden Sie in den entsprechenden Abschnitten:
Dienstprinzipalauthentifizierung
Zum Verwenden der Dienstprinzipalauthentifizierung führen Sie die folgenden Schritte aus.
Registrieren einer Anwendung bei der Microsoft Identity Platform und Hinzufügen eines geheimen Clientschlüssels. Notieren Sie sich anschließend die folgenden Werte, die Sie zum Definieren des verknüpften Diensts verwenden können:
- Anwendungs-ID (Client), d. h. die Dienstprinzipal-ID im verknüpften Dienst.
- Wert des geheimen Clientschlüssels, d. h. der Dienstprinzipalschlüssel im verknüpften Dienst.
- Mandanten-ID
Weisen Sie dem Dienstprinzipal mindestens die Rolle Mitwirkender im Microsoft Fabric-Arbeitsbereich zu. Führen Sie folgende Schritte aus:
Wechseln Sie zu Ihrem Microsoft Fabric-Arbeitsbereich, und wählen Sie auf der oberen Leiste Zugriff verwalten aus. Wählen Sie anschließend Personen oder Gruppen hinzufügen aus.
Geben Sie im Bereich Personen hinzufügen den Namen Ihres Dienstprinzipals ein, und wählen Sie Ihren Dienstprinzipal aus der Dropdownliste aus.
Geben Sie als Rolle Mitwirkender oder höher (Administrator, Mitglied) an, und wählen Sie dann Hinzufügen aus.
Ihr Dienstprinzipal wird im Bereich Zugriff verwalten angezeigt.
Diese Eigenschaften werden im verknüpften Dienst unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft muss auf Warehouse festgelegt werden. | Ja |
endpoint | Der Endpunkt des Microsoft Fabric Warehouse-Servers. | Ja |
workspaceId | Die ID des Microsoft Fabric-Arbeitsbereichs | Ja |
artifactId | Die Microsoft Fabric Warehouse-Objekt-ID. | Ja |
tenant | Geben Sie die Mandanteninformationen (Domänenname oder Mandanten-ID) für Ihre Anwendung an. Diese können Sie abrufen, indem Sie im Azure-Portal mit der Maus auf den Bereich oben rechts zeigen. | Ja |
servicePrincipalId | Geben Sie die Client-ID der Anwendung an. | Ja |
servicePrincipalCredentialType | Die Art von Anmeldeinformationen, die für die Authentifizierung beim Dienstprinzipal verwendet werden. Gültige Werte sind ServicePrincipalKey und ServicePrincipalCert. | Ja |
servicePrincipalCredential | Die Anmeldeinformationen für den Dienstprinzipal. Wenn Sie ServicePrincipalKey als Anmeldeinformationstyp verwenden, geben Sie den Wert des geheimen Clientschlüssels der Anwendung an. Markieren Sie dieses Feld als einen SecureString, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Wenn Sie ServicePrincipalCert als Anmeldeinformationen verwenden, verweisen Sie auf ein Zertifikat in Azure Key Vault, und stellen Sie sicher, dass der Zertifikatsinhaltstyp PKCS #12 lautet. |
Ja |
connectVia | Die Integration Runtime, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden soll. Sie können die Azure Integration Runtime oder eine selbstgehostete Integration Runtime verwenden (sofern sich Ihr Datenspeicher in einem privaten Netzwerk befindet). Wenn kein Wert angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. | Nein |
Beispiel: Verwenden der Dienstprinzipal-Schlüsselauthentifizierung
Sie können den Dienstprinzipalschlüssel auch in Azure Key Vault speichern.
{
"name": "MicrosoftFabricWarehouseLinkedService",
"properties": {
"type": "Warehouse",
"typeProperties": {
"endpoint": "<Microsoft Fabric Warehouse server endpoint>",
"workspaceId": "<Microsoft Fabric workspace ID>",
"artifactId": "<Microsoft Fabric Warehouse object ID>",
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalCredential": {
"type": "SecureString",
"value": "<service principal key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Dataset-Eigenschaften
Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets.
Die folgenden Eigenschaften werden für das Microsoft Fabric Warehouse-Dataset unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft des Datasets muss auf WarehouseTable festgelegt werden. | Ja |
schema | Name des Schemas. | Quelle: Nein, Senke: Ja |
table | Name der Tabelle/Ansicht. | Quelle: Nein, Senke: Ja |
Beispiel für Dataseteigenschaften
{
"name": "FabricWarehouseTableDataset",
"properties": {
"type": "WarehouseTable",
"linkedServiceName": {
"referenceName": "<Microsoft Fabric Warehouse linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, retrievable during authoring >
],
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
}
}
}
Eigenschaften der Kopieraktivität
Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie unter Konfigurationen für die Kopieraktivität und Pipelines und Aktivitäten. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der Microsoft Fabric Warehouse-Quelle und -Senke unterstützt werden.
Microsoft Fabric Warehouse als Quelle
Tipp
Weitere Informationen zum effizienten Laden von Daten aus Microsoft Fabric Warehouse mithilfe der Datenpartitionierung finden Sie unter Paralleles Kopieren aus Microsoft Fabric Warehouse.
Um Daten aus Microsoft Fabric Warehouse zu kopieren, legen Sie die type-Eigenschaft in der Quelle der Copy-Aktivität auf WarehouseSource fest. Die folgenden Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft der Quelle der Copy-Aktivität muss auf WarehouseSource festgelegt werden. | Ja |
sqlReaderQuery | Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. Beispiel: select * from MyTable . |
Nein |
sqlReaderStoredProcedureName | Name der gespeicherten Prozedur, die Daten aus der Quelltabelle liest. Die letzte SQL-Anweisung muss eine SELECT-Anweisung in der gespeicherten Prozedur sein. | Nein |
storedProcedureParameters | Parameter für die gespeicherte Prozedur. Zulässige Werte sind Namen oder Name-Wert-Paare. Die Namen und die Groß-/Kleinschreibung von Parametern müssen denen der Parameter der gespeicherten Prozedur entsprechen. |
No |
queryTimeout | Gibt das Timeout für die Ausführung des Abfragebefehls an. Der Standardwert ist 120 Minuten. | No |
isolationLevel | Gibt das Sperrverhalten für Transaktionen für die SQL-Quelle an. Der zulässige Wert ist Snapshot. Ohne Angabe wird die Standardisolationsstufe der Datenbank verwendet. Weitere Informationen finden Sie unter system.data.isolationlevel. | Nein |
partitionOptions | Gibt die Datenpartitionierungsoptionen an, die zum Laden von Daten aus Microsoft Fabric Warehouse verwendet werden. Zulässige Werte sind None (Standardwert) und DynamicRange. Wenn eine Partitionsoption aktiviert ist (d. h. der Wert lautet nicht None ), wird der Grad der Parallelität für das gleichzeitige Laden von Daten aus Microsoft Fabric Warehouse durch die Einstellung parallelCopies der Copy-Aktivität gesteuert. |
No |
partitionSettings | Geben Sie die Gruppe der Einstellungen für die Datenpartitionierung an. Verwenden Sie diese Option, wenn die Partitionsoption nicht None lautet. |
Nein |
Unter partitionSettings : |
||
partitionColumnName | Geben Sie den Namen der Quellspalte als integer- oder date/datetime-Typ (int , smallint , bigint , date , datetime2 ) an. Dieser wird von der Bereichspartitionierung für das parallele Kopieren verwendet. Ohne Angabe wird der Index oder der Primärschlüssel der Tabelle automatisch erkannt und als Partitionsspalte verwendet.Verwenden Sie diese Option, wenn die Partitionsoption DynamicRange lautet. Wenn Sie die Quelldaten mithilfe einer Abfrage abrufen, integrieren Sie ?DfDynamicRangePartitionCondition in die WHERE-Klausel. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Microsoft Fabric Warehouse. |
No |
partitionUpperBound | Der maximale Wert der Partitionsspalte für das Teilen des Partitionsbereichs. Dieser Wert wird zur Entscheidung über den Partitionssprung verwendet, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen in der Tabelle oder im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Verwenden Sie diese Option, wenn die Partitionsoption DynamicRange lautet. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Microsoft Fabric Warehouse. |
No |
partitionLowerBound | Der minimale Wert der Partitionsspalte für das Teilen des Partitionsbereichs. Dieser Wert wird zur Entscheidung über den Partitionssprung verwendet, nicht zum Filtern der Zeilen in der Tabelle. Alle Zeilen in der Tabelle oder im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Verwenden Sie diese Option, wenn die Partitionsoption DynamicRange lautet. Ein Beispiel finden Sie im Abschnitt Paralleles Kopieren aus Microsoft Fabric Warehouse. |
Nein |
Hinweis
Wenn Sie zum Abrufen von Daten eine gespeicherte Prozedur in der Quelle verwenden und die gespeicherte Prozedur beim Übergeben eines anderen Parameterwerts ein anderes Schema zurückgibt, können beim Importieren eines Schemas über die Benutzeroberfläche oder beim Kopieren von Daten in Microsoft Fabric Warehouse mit der automatischen Tabellenerstellung Fehler oder unerwartete Ergebnisse auftreten.
Beispiel: Verwenden von SQL-Abfragen
"activities":[
{
"name": "CopyFromMicrosoftFabricWarehouse",
"type": "Copy",
"inputs": [
{
"referenceName": "<Microsoft Fabric Warehouse input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "WarehouseSource",
"sqlReaderQuery": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Beispiel: Verwenden von gespeicherten Prozeduren
"activities":[
{
"name": "CopyFromMicrosoftFabricWarehouse",
"type": "Copy",
"inputs": [
{
"referenceName": "<Microsoft Fabric Warehouse input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "WarehouseSource",
"sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
"storedProcedureParameters": {
"stringData": { "value": "str3" },
"identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Gespeicherte Beispielprozedur:
CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
@stringData varchar(20),
@identifier int
)
AS
SET NOCOUNT ON;
BEGIN
select *
from dbo.UnitTestSrcTable
where dbo.UnitTestSrcTable.stringData != stringData
and dbo.UnitTestSrcTable.identifier != identifier
END
GO
Microsoft Fabric Warehouse als Senkentyp
Azure Data Factory- und Azure Synapse-Pipelines unterstützen die Verwendung der COPY-Anweisung zum Laden von Daten in Microsoft Fabric Warehouse.
Legen Sie zum Kopieren von Daten in Microsoft Fabric Warehouse den Senkentyp in der Copy-Aktivität auf WarehouseSink fest. Die folgenden Eigenschaften werden im Abschnitt sink der Kopieraktivität unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft der Senke der Copy-Aktivität muss auf WarehouseSink festgelegt werden. | Ja |
allowCopyCommand | Gibt an, ob die COPY-Anweisung zum Laden von Daten in Microsoft Fabric Warehouse verwendet wird. Einschränkungen und Details finden Sie im Abschnitt Verwenden der COPY-Anweisung zum Laden von Daten in Microsoft Fabric Warehouse. Der zulässige Wert ist True. |
Ja |
copyCommandSettings | Eine Gruppe von Eigenschaften, die angegeben werden können, wenn die Eigenschaft allowCopyCommand auf TRUE festgelegt ist. |
No |
writeBatchTimeout | Diese Eigenschaft gibt die Wartezeit für den Abschluss der Insert- und Upsert-Vorgänge und die gespeicherte Prozedur an, bevor ein Timeout auftritt. Zulässige Werte werden für den Zeitraum verwendet. Beispiel: „00:30:00“ für 30 Minuten. Wenn kein Wert festgelegt ist, wird für das Timeout der Standardwert „00:30:00“ verwendet. |
No |
preCopyScript | Geben Sie eine SQL-Abfrage für die Copy-Aktivität an, die bei jeder Ausführung ausgeführt wird, bevor Daten in Microsoft Fabric Warehouse geschrieben werden. Sie können diese Eigenschaft nutzen, um vorab geladene Daten zu bereinigen. | Nein |
tableOption | Gibt an, ob die Senkentabelle auf Basis des Quellschemas automatisch erstellt werden soll, wenn sie nicht vorhanden ist. Zulässige Werte: none (Standard), autoCreate . |
Nein |
disableMetricsCollection | Der Dienst sammelt Metriken für die Leistungsoptimierung von Kopiervorgängen und für Empfehlungen, wodurch zusätzlicher Zugriff auf die Masterdatenbank ermöglicht wird. Wenn Sie sich wegen dieses Verhaltens Gedanken machen, geben Sie true an, um es zu deaktivieren. |
Nein (Standard = false ) |
Beispiel: Microsoft Fabric Warehouse-Senke
"activities":[
{
"name": "CopyToMicrosoftFabricWarehouse",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Microsoft Fabric Warehouse output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "WarehouseSink",
"allowCopyCommand": true,
"tableOption": "autoCreate",
"disableMetricsCollection": false
}
}
}
]
Paralleles Kopieren aus Microsoft Fabric Warehouse
Der Microsoft Fabric Warehouse-Connector in der Copy-Aktivität verfügt über eine integrierte Datenpartitionierung zum parallelen Kopieren von Daten. Die Datenpartitionierungsoptionen befinden sich auf der Registerkarte Quelle der Kopieraktivität.
Wenn Sie das partitionierte Kopieren aktivieren, führt die Copy-Aktivität parallele Abfragen für Ihre Microsoft Fabric Warehouse-Quelle aus, um Daten nach Partitionen zu laden. Der Parallelitätsgrad wird über die Einstellung parallelCopies
der Kopieraktivität gesteuert. Wenn Sie parallelCopies
z. B. auf 4 festlegen, generiert der Dienst gleichzeitig vier Abfragen auf der Grundlage der von Ihnen angegebenen Partitionsoption und -einstellungen und führt sie aus, wobei jede Abfrage einen Teil der Daten aus Microsoft Fabric Warehouse abruft.
Es wird empfohlen, das parallele Kopieren mit Datenpartitionierung vor allem dann zu aktivieren, wenn Sie große Datenmengen aus Microsoft Fabric Warehouse laden. Im Anschluss finden Sie empfohlene Konfigurationen für verschiedene Szenarien. Beim Kopieren von Daten in einen dateibasierten Datenspeicher wird empfohlen, mehrere Dateien in einen Ordner zu schreiben (nur den Ordnernamen anzugeben). In diesem Fall ist die Leistung besser als beim Schreiben in eine einzelne Datei.
Szenario | Empfohlene Einstellungen |
---|---|
Vollständiges Laden aus einer großen Tabelle mit einer integer- oder datetime-Spalte für die Datenpartitionierung | Partitionsoptionen: Dynamische Bereichspartitionierung Partitionsspalte (optional): Geben Sie die Spalte für die Datenpartitionierung an. Ohne Angabe wird der Index oder die Primärschlüsselspalte verwendet. Obergrenze der Partition und Untergrenze der Partition (optional): Geben Sie an, ob Sie den Partitionssprung bestimmen möchten. Dies dient nicht zum Filtern der Zeilen in der Tabelle, und alle Zeilen in der Tabelle werden partitioniert und kopiert. Wenn nicht angegeben, werden die Werte für die Kopieraktivität automatisch erkannt. Wenn Ihre Partitionsspalte "ID" beispielsweise einen Wertebereich von 1 bis 100 hat und Sie die untere Grenze auf 20 und die obere Grenze auf 80 und die Parallelkopie auf 4 setzen, ruft der Dienst Daten nach 4 Partitionen ab - IDs im Bereich <=20, [21, 50], [51, 80] bzw. >=81. |
Laden einer großen Datenmenge unter Verwendung einer benutzerdefinierten Abfrage mit einer integer- oder date/datetime-Spalte für die Datenpartitionierung | Partitionsoptionen: Dynamische Bereichspartitionierung Abfrage: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> Partitionsspalte: Geben Sie die Spalte für die Datenpartitionierung an. Obergrenze der Partition und Untergrenze der Partition (optional): Geben Sie an, ob Sie den Partitionssprung bestimmen möchten. Dies dient nicht zum Filtern der Zeilen in der Tabelle, und alle Zeilen im Abfrageergebnis werden partitioniert und kopiert. Wenn nicht angegeben, wird der Wert für die Kopieraktivität automatisch erkannt. Wenn Ihre Partitionsspalte „ID“ beispielsweise einen Wertebereich von 1 bis 100 hat und Sie die untere Grenze auf 20, die obere Grenze auf 80 und die Parallelkopie auf 4 festlegen, ruft der Dienst Daten nach 4 Partitionen ab – IDs im Bereich <=20, [21, 50], [51, 80] bzw. >=81. Hier finden Sie weitere Beispiele für verschiedene Szenarien: 1. Abfrage der gesamten Tabelle: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition 2. Abfrage aus einer Tabelle mit Spaltenauswahl und zusätzlichen Where-Klausel-Filtern: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> 3. Abfragen mit Unterabfragen: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> 4. Abfrage mit Partition in Unterabfrage: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Bewährte Methoden zum Laden von Daten mit Partitionierungsoption:
- Wählen Sie eine aussagekräftige Spalte als Partitionsspalte (wie Primärschlüssel oder eindeutiger Schlüssel), um Datenabweichungen zu vermeiden.
- Wenn Sie Azure Integration Runtime zum Kopieren von Daten verwenden, können Sie größere „Datenintegrationseinheiten (Data Integration Units, DIU)“ festlegen (> 4), um mehr Computingressourcen zu nutzen. Prüfen Sie dort die anwendbaren Szenarien.
- „Grad der Kopierparallelität“ steuert die Partitionsnummern. Ein zu großer Wert schadet manchmal der Leistung. Deshalb wird empfohlen, diesen Wert wie folgt festzulegen: (DIU oder Anzahl der selbstgehosteten IR-Knoten) × (2 bis 4).
- Beachten Sie, dass Microsoft Fabric Warehouse maximal 32 Abfragen gleichzeitig ausführen kann. Wenn Sie „Parallelitätsgrad für Kopiervorgänge“ auf einen zu hohen Wert festlegen, kann dies zu einem Warehouse-Drosselungsproblem führen.
Beispiel: Abfrage mit dynamischer Bereichspartition
"source": {
"type": "WarehouseSource",
"query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
"partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
}
}
Verwenden der COPY-Anweisung zum Laden von Daten in Microsoft Fabric Warehouse
Die Verwendung der COPY-Anweisung ist eine einfache und flexible Möglichkeit, um Daten mit hohem Durchsatz in Microsoft Fabric Warehouse zu laden. Weitere Informationen finden Sie unter Massenladen von Daten mit der COPY-Anweisung.
- Wenn sich Ihre Quelldaten in Azure Blob Storage oder Azure Data Lake Storage Gen2 befinden und das Format kompatibel mit der COPY-Anweisung ist, können Sie die COPY-Anweisung direkt über die Copy-Aktivität aufrufen, damit Microsoft Fabric Warehouse die Daten aus der Quelle pullen kann. Details finden Sie unter Direktes Kopieren mithilfe der COPY-Anweisung .
- Wenn der Speicher und das Format der Quelldaten von der COPY-Anweisung ursprünglich nicht unterstützt werden, können Sie stattdessen das Feature Gestaffeltes Kopieren mithilfe der COPY-Anweisung verwenden. Das Feature für gestaffeltes Kopieren bietet Ihnen auch einen höheren Durchsatz. Es konvertiert die Daten automatisch in ein mit der COPY-Anweisung kompatibles Format, speichert die Daten in Azure Blob Storage und ruft dann die COPY-Anweisung auf, um die Daten in Microsoft Fabric Warehouse zu laden.
Tipp
Bei Verwendung der COPY-Anweisung mit Azure Integration Runtime sind die effektiven Datenintegrationseinheiten (DIUs) immer auf 2 festgelegt. Die Optimierung der Datenintegrationseinheit (Data Integration Unit, DIU) hat keinen Einfluss auf die Leistung.
Direktes Kopieren mithilfe der COPY-Anweisung
Azure Blob Storage, Azure Data Lake Storage Gen1 und Azure Data Lake Storage Gen2 werden von der COPY-Anweisung von Microsoft Fabric Warehouse direkt unterstützt. Wenn Ihre Quelldaten die in diesem Abschnitt beschriebenen Kriterien erfüllen, können Sie Daten mithilfe der COPY-Anweisung direkt aus dem Quelldatenspeicher in Microsoft Fabric Warehouse kopieren. Andernfalls können Sie das gestaffelte Kopieren mithilfe der COPY-Anweisung verwenden. Der Dienst überprüft die Einstellungen und gibt bei der Ausführung der Copy-Aktivität einen Fehler aus, wenn die Kriterien nicht erfüllt werden.
Der mit der Quelle verknüpfte Dienst und das Format verfügen über die folgenden Typen und Authentifizierungsmethoden:
Unterstützter Quelldatenspeichertyp Unterstütztes Format Unterstützter Quellauthentifizierungstyp Azure-Blob Text mit Trennzeichen Kontoschlüsselauthentifizierung, SAS-Authentifizierung (Shared Access Signature) Parquet Kontoschlüsselauthentifizierung, SAS-Authentifizierung (Shared Access Signature) Azure Data Lake Storage Gen2 Text mit Trennzeichen
ParquetKontoschlüsselauthentifizierung, SAS-Authentifizierung (Shared Access Signature) Die Formateinstellungen lauten folgendermaßen:
- Bei Parquet:
compression
kann auf Keine Komprimierung, Snappy oderGZip
festgelegt werden. - Bei Text mit Trennzeichen:
rowDelimiter
ist explizit festgelegt auf einzelnes Zeichen oder \r\n. Der Standardwert wird nicht unterstützt.nullValue
wird als Standardwert übernommen oder ist auf leere Zeichenfolge („“) festgelegt.encodingName
wird als Standardwert übernommen oder ist auf utf-8 oder utf-16 festgelegt.escapeChar
mussquoteChar
entsprechen und darf nicht leer sein.skipLineCount
wird als Standardwert übernommen oder ist auf 0 festgelegt.compression
kann auf keine Komprimierung oderGZip
festgelegt werden.
- Bei Parquet:
Wenn es sich bei der Quelle um einen Ordner handelt, muss
recursive
beim Kopiervorgang auf „TRUE“ festgelegt sein, undwildcardFilename
muss*
oder*.*
sein.wildcardFolderPath
,wildcardFilename
(anders als*
oder*.*
),modifiedDateTimeStart
,modifiedDateTimeEnd
,prefix
,enablePartitionDiscovery
undadditionalColumns
werden nicht angegeben.
Die folgenden Einstellungen der COPY-Anweisung werden unter allowCopyCommand
in der Kopieraktivität unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
defaultValues | Gibt die Standardwerte für jede Zielspalte in Microsoft Fabric Warehouse an. Die Standardwerte in der Eigenschaft überschreiben die in Data Warehouse festgelegte DEFAULT-Einschränkung, und die Identitätsspalte darf keinen Standardwert haben. | Nein |
additionalOptions | Zusätzliche Optionen, die direkt in der WITH-Klausel der COPY-Anweisung an eine COPY-Anweisung von Microsoft Fabric Warehouse übergeben werden. Geben Sie den Wert so an, wie er gemäß den Anforderungen der COPY-Anweisung erforderlich ist. | Nein |
"activities":[
{
"name": "CopyFromAzureBlobToMicrosoftFabricWarehouseViaCOPY",
"type": "Copy",
"inputs": [
{
"referenceName": "ParquetDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "MicrosoftFabricWarehouseDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ParquetSource",
"storeSettings":{
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "WarehouseSink",
"allowCopyCommand": true,
"copyCommandSettings": {
"defaultValues": [
{
"columnName": "col_string",
"defaultValue": "DefaultStringValue"
}
],
"additionalOptions": {
"MAXERRORS": "10000",
"DATEFORMAT": "'ymd'"
}
}
},
"enableSkipIncompatibleRow": true
}
}
]
Gestaffeltes Kopieren mithilfe der COPY-Anweisung
Wenn Ihre Quelldaten nicht nativ mit der COPY-Anweisung kompatibel sind, können Sie die Daten über eine zwischengeschaltete Azure Blob- oder Azure Data Lake Storage Gen2-Instanz mit Staging kopieren (es kann nicht Azure Storage Premium sein). In diesem Fall konvertiert der Dienst die Daten automatisch, damit das Datenformat den Anforderungen der COPY-Anweisung entspricht. Anschließend ruft er die COPY-Anweisung auf, um Daten in Microsoft Fabric Warehouse zu laden. Abschließend werden Sie die temporären Daten im Speicher bereinigt. Ausführliche Informationen zum Kopieren von Daten mithilfe von Staging finden Sie unter Gestaffeltes Kopieren.
Um dieses Feature verwenden zu können, erstellen Sie einen mit Azure Blob Storage verknüpften Dienst oder einen mit Azure Data Lake Storage Gen2 verknüpften Dienst mit Authentifizierung per Kontoschlüssel oder systemverwalteter Identität, der auf das Azure Storage-Konto als Zwischenspeicher verweist.
Wichtig
- Wenn Sie die Authentifizierung per verwalteter Identität für den verknüpften Stagingdienst verwenden, machen Sie sich jeweils mit den erforderlichen Konfigurationen für Azure Blob und Azure Data Lake Storage Gen2 vertraut.
- Wenn Ihre Azure Storage-Staginginstanz mit einem VNET-Dienstendpunkt konfiguriert ist, müssen Sie die Authentifizierung per verwalteter Identität mit für das Speicherkonto aktivierter Option „Vertrauenswürdigen Microsoft-Diensten den Zugriff auf dieses Speicherkonto erlauben“ verwenden. Informationen hierzu finden Sie unter Auswirkungen der Verwendung von VNET-Dienstendpunkten mit Azure Storage.
Wichtig
Wenn Ihre Azure Storage-Staginginstanz mit verwaltetem privatem Endpunkt konfiguriert und die Speicherfirewall aktiviert ist, müssen Sie die Authentifizierung per verwalteter Identität verwenden und dem Speicherblob-Datenleser Berechtigungen für die Synapse SQL Server-Instanz gewähren, um sicherzustellen, dass er während des Ladens mit der COPY-Anweisung auf die bereitgestellten Dateien zugreifen kann.
"activities":[
{
"name": "CopyFromSQLServerToMicrosoftFabricWarehouseViaCOPYstatement",
"type": "Copy",
"inputs": [
{
"referenceName": "SQLServerDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "MicrosoftFabricWarehouseDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlSource",
},
"sink": {
"type": "WarehouseSink",
"allowCopyCommand": true
},
"stagingSettings": {
"linkedServiceName": {
"referenceName": "MyStagingStorage",
"type": "LinkedServiceReference"
}
}
}
}
]
Eigenschaften der Lookup-Aktivität
Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.
Eigenschaften der GetMetadata-Aktivität
Ausführliche Informationen zu den Eigenschaften finden Sie unter GetMetadata-Aktivität.
Datentypzuordnung für Microsoft Fabric Warehouse
Beim Kopieren von Daten aus Microsoft Fabric Warehouse werden innerhalb des Diensts die folgenden Zuordnungen von Microsoft Fabric Warehouse-Datentypen zu Zwischendatentypen verwendet. Weitere Informationen dazu, wie die Kopieraktivität das Quellschema und den Datentyp zur Senke zuordnet, finden Sie unter Schema- und Datentypzuordnungen.
Microsoft Fabric Warehouse-Datentyp | Data Factory-Zwischendatentyp |
---|---|
BIGINT | Int64 |
BINARY | Byte[] |
bit | Boolean |
char | String, Char[] |
date | Datetime |
datetime2 | DateTime |
Decimal | Decimal |
FILESTREAM attribute (varbinary(max)) | Byte[] |
Float | Double |
int | Int32 |
NUMERIC | Decimal |
real | Single |
smallint | Int16 |
time | TimeSpan |
UNIQUEIDENTIFIER | Guid |
varbinary | Byte[] |
varchar | String, Char[] |
Nächste Schritte
Eine Liste der Datenspeicher, die als Quelles und Senken für die Kopieraktivität unterstützt werden, finden Sie in Unterstützte Datenspeicher.