Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 in Azure Data Factory- oder Azure Synapse Analytics-Pipelines verwenden, um Daten aus Spark zu kopieren. Er baut auf dem Artikel zur Übersicht über die Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.
Von Bedeutung
Die Spark Connector-Version 2.0 bietet verbesserte native Spark-Unterstützung. Wenn Sie Spark Connector Version 1.0 in Ihrer Lösung verwenden, aktualisieren Sie den Spark-Connector vor dem30. September 2025. Ausführliche Informationen zu den Unterschieden zwischen Version 2.0 und Version 1.0 finden Sie in diesem Abschnitt.
Unterstützte Funktionen
Für den Spark-Connector werden die folgenden Funktionen unterstützt:
Unterstützte Funktionen | IR |
---|---|
Kopieraktivität (Quelle/-) | (1) (2) |
Lookup-Aktivität | (1) (2) |
① Azure Integration Runtime ② Selbstgehostete Integration Runtime
Eine Liste der Datenspeicher, die als Quellen oder Senken für die Kopieraktivität unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.
Der Dienst enthält einen integrierten Treiber zum Herstellen der Konnektivität. Daher müssen Sie keinen Treiber manuell installieren, wenn dieser Connector verwendet wird.
Voraussetzungen
Wenn sich Ihr Datenspeicher in einem lokalen Netzwerk, in einem virtuellen Azure-Netzwerk oder in einer virtuellen privaten Amazon-Cloud befindet, müssen Sie eine selbstgehostete Integration Runtime konfigurieren, um eine Verbindung herzustellen.
Handelt es sich bei Ihrem Datenspeicher um einen verwalteten Clouddatendienst, können Sie die Azure Integration Runtime verwenden. Ist der Zugriff auf IP-Adressen beschränkt, die in den Firewallregeln genehmigt sind, können Sie Azure Integration Runtime-IPs zur Positivliste hinzufügen.
Sie können auch das Feature managed virtual network integration runtime (Integration Runtime für verwaltete virtuelle Netzwerke) in Azure Data Factory verwenden, um auf das lokale Netzwerk zuzugreifen, ohne eine selbstgehostete Integration Runtime zu installieren und zu konfigurieren.
Weitere Informationen zu den von Data Factory unterstützten Netzwerksicherheitsmechanismen und -optionen finden Sie unter Datenzugriffsstrategien.
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 Diensts mit Spark über die Benutzeroberfläche
Verwenden Sie die folgenden Schritte, um einen verknüpften Dienst mit Spark auf der Azure-Portal Benutzeroberfläche zu erstellen.
Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zu der Registerkarte „Verwalten“, wählen Sie „Verknüpfte Dienste“ aus, und klicken Sie dann auf „Neu“:
Suchen Sie nach Spark, und wählen Sie den Spark-Connector aus.
Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.
Details zur Connectorkonfiguration
Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zum Definieren von Data Factory-Entitäten speziell für den Spark-Connector verwendet werden.
Eigenschaften des verknüpften Diensts
Der Spark-Connector unterstützt jetzt Version 2.0. Lesen Sie diesen Abschnitt , um die Spark Connector-Version von Version 1.0 zu aktualisieren. Einzelheiten zur Eigenschaft finden Sie in den entsprechenden Abschnitten.
Version 2.0
Die folgenden Eigenschaften werden für Spark linked service Version 2.0 unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft muss auf Folgendes festgelegt werden: Spark | Ja |
Ausgabe | Die von Ihnen angegebene Version. Der Wert ist 2.0 . |
Ja |
Gastgeber | IP-Adresse oder Hostname des Spark-Servers | Ja |
Hafen | Der TCP-Port, den der Spark-Server verwendet, um auf Clientverbindungen zu lauschen. Wenn Sie eine Verbindung mit Azure HDInsight herstellen, geben Sie „443“ als Port an. | Ja |
serverTyp | Der Typ des Spark-Servers. Der zulässige Wert lautet: SparkThriftServer |
Nein |
thriftTransportProtokoll | Das auf der Thrift-Ebene zu verwendende Transportprotokoll. Der zulässige Wert lautet: HTTP |
Nein |
Authentifizierungstyp | Die Authentifizierungsmethode für den Zugriff auf den Spark-Server. Zulässige Werte sind: Anonymous, UsernameAndPassword, WindowsAzureHDInsightService |
Ja |
Benutzername | Der Benutzername für den Zugriff auf den Spark-Server. | Nein |
Kennwort | Das Kennwort für den Benutzer. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. | Nein |
httpPfad | Die Teil-URL, die dem Spark-Server entspricht. | Nein |
SSL aktivieren | Gibt an, ob Verbindungen mit dem Server mit TLS verschlüsselt werden. Der Standardwert ist true. | Nein |
Aktivierung der Serverzertifikatsvalidierung | Geben Sie an, ob die Ssl-Zertifikatüberprüfung auf dem Server aktiviert werden soll, wenn Sie eine Verbindung herstellen. Verwenden Sie immer den System Trust Store. Der Standardwert ist true. |
Nein |
connectVia | Die Integrationslaufzeit, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden muss. Weitere Informationen finden Sie im Abschnitt Voraussetzungen. Wenn keine Option angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. | Nein |
Beispiel:
{
"name": "SparkLinkedService",
"properties": {
"type": "Spark",
"version": "2.0",
"typeProperties": {
"host": "<cluster>.azurehdinsight.net",
"port": "<port>",
"authenticationType": "WindowsAzureHDInsightService",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
Version 1.0
Die folgenden Eigenschaften werden für Spark Linked Service Version 1.0 unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft muss auf Folgendes festgelegt werden: Spark | Ja |
Gastgeber | IP-Adresse oder Hostname des Spark-Servers | Ja |
Hafen | Der TCP-Port, den der Spark-Server verwendet, um auf Clientverbindungen zu lauschen. Wenn Sie eine Verbindung mit Azure HDInsight herstellen, geben Sie „443“ als Port an. | Ja |
serverTyp | Der Typ des Spark-Servers. Zulässige Werte sind: SharkServer, SharkServer2, SparkThriftServer |
Nein |
thriftTransportProtokoll | Das auf der Thrift-Ebene zu verwendende Transportprotokoll. Zulässige Werte sind: Binary, SASL, HTTP |
Nein |
Authentifizierungstyp | Die Authentifizierungsmethode für den Zugriff auf den Spark-Server. Zulässige Werte sind: Anonymous, Username, UsernameAndPassword, WindowsAzureHDInsightService |
Ja |
Benutzername | Der Benutzername für den Zugriff auf den Spark-Server. | Nein |
Kennwort | Das Kennwort für den Benutzer. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. | Nein |
httpPfad | Die Teil-URL, die dem Spark-Server entspricht. | Nein |
SSL aktivieren | Gibt an, ob Verbindungen mit dem Server mit TLS verschlüsselt werden. Der Standardwert ist „FALSE“. | Nein |
VertrauenswürdigerZertifikatspfad | Der vollständige Pfad der PEM-Datei mit vertrauenswürdigen Zertifizierungsstellenzertifikaten zur Überprüfung des Servers beim Verbindungsaufbau über TLS. Diese Eigenschaft kann nur festgelegt werden, wenn TLS in einer selbstgehosteten IR verwendet wird. Der Standardwert ist die Datei „cacerts.pem“, die mit der IR installiert wird. | Nein |
useSystemTrustStore | Gibt an, ob ein Zertifizierungsstellenzertifikat aus dem Vertrauensspeicher des Systems oder aus einer angegebenen PEM-Datei verwendet werden soll. Der Standardwert ist „FALSE“. | Nein |
allowHostNameCNMismatch | Gibt an, ob der Name eines von der Zertifizierungsstelle ausgestellten TLS-/SSL-Zertifikats mit dem Hostnamen des Servers übereinstimmen muss, wenn eine Verbindung über TLS hergestellt wird. Der Standardwert ist „FALSE“. | Nein |
Selbstsigniertes Serverzertifikat zulassen | Gibt an, ob vom Server selbstsignierte Zertifikate zugelassen werden. Der Standardwert ist „FALSE“. | Nein |
connectVia | Die Integrationslaufzeit, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden muss. Weitere Informationen finden Sie im Abschnitt Voraussetzungen. Wenn keine Option angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. | Nein |
Beispiel:
{
"name": "SparkLinkedService",
"properties": {
"type": "Spark",
"typeProperties": {
"host": "<cluster>.azurehdinsight.net",
"port": "<port>",
"authenticationType": "WindowsAzureHDInsightService",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
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. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom Spark-Dataset unterstützt werden.
Legen Sie zum Kopieren von Daten aus Spark die „type“-Eigenschaft des Datasets auf SparkObject fest. Folgende Eigenschaften werden unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft des Datasets muss auf folgenden Wert festgelegt werden: SparkObject | Ja |
Schema | Name des Schemas. | Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
Tisch | Der Name der Tabelle. | Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
Tabellenname | Name der Tabelle mit Schema. Diese Eigenschaft wird aus Gründen der Abwärtskompatibilität weiterhin unterstützt. Verwenden Sie schema und table für eine neue Workload. |
Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
Beispiel
{
"name": "SparkDataset",
"properties": {
"type": "SparkObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Spark linked service name>",
"type": "LinkedServiceReference"
}
}
}
Eigenschaften der Kopieraktivität
Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der Spark-Quelle unterstützt werden.
Spark als Quelle
Legen Sie zum Kopieren von Daten aus Spark den Quelltyp in der Kopieraktivität auf SparkSource fest. Folgende Eigenschaften werden im Abschnitt source der Kopieraktivität unterstützt:
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
Typ | Die type-Eigenschaft der Quelle der Kopieraktivität muss auf Folgendes festgelegt werden: SparkSource | Ja |
Abfrage | Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. Beispiel: "SELECT * FROM MyTable" . |
Nein (wenn „tableName“ im Dataset angegeben ist) |
Beispiel:
"activities":[
{
"name": "CopyFromSpark",
"type": "Copy",
"inputs": [
{
"referenceName": "<Spark input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SparkSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Datentypzuordnung für Spark
Wenn Sie Daten aus und in Spark kopieren, werden die folgenden Zwischendatentypzuordnungen innerhalb des Diensts verwendet. Informationen dazu, wie die Kopieraktivität das Quellschema und den Datentyp der Spüle zuordnet, finden Sie unter Schema- und Datentypzuordnungen.
Spark-Datentyp | Zwischendienstdatentyp (für Version 2.0) | Zwischendienstdatentyp (für Version 1.0) |
---|---|---|
Boolean-Typ | Boolean | Boolean |
ByteType | Sbyte | Int16 |
ShortType | Int16 | Int16 |
IntegerType | Int32 | Int32 |
LongType | Int64 | Int64 |
FloatType | Ledig | Ledig |
DoubleType | Doppelt | Doppelt |
Datumstyp | Datum und Uhrzeit | Datum und Uhrzeit |
Zeitstempeltyp | Datum/Uhrzeit-Offset | Datum und Uhrzeit |
StringType | Schnur | Schnur |
Binärtyp | Byte[] | Byte[] |
Dezimaltyp | Dezimal | Dezimal |
ArrayType | Schnur | Schnur |
StructType | Schnur | Schnur |
Kartentyp | Schnur | Schnur |
TimestampNTZType | Datum und Uhrzeit | Datum und Uhrzeit |
YearMonthIntervalType | Schnur | Nicht unterstützt. |
Tageszeitintervalltyp | Schnur | Nicht unterstützt. |
Eigenschaften der Lookup-Aktivität
Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.
Aktualisieren des Spark-Connectors
Wählen Sie auf der Seite "Verknüpften Dienst bearbeiten" 2.0 für die Version aus, und konfigurieren Sie den Verknüpften Dienst, indem Sie auf die Verknüpften Diensteigenschaften Version 2.0 verweisen.
Die Datentypzuordnung für die verknüpfte Spark-Dienstversion 2.0 unterscheidet sich von der für die Version 1.0. Informationen zur neuesten Datentypzuordnung finden Sie unter "Datentypzuordnung für Spark".
Unterschiede zwischen Spark Version 2.0 und Version 1.0
Die Spark Connector Version 2.0 bietet neue Funktionen und ist mit den meisten Features von Version 1.0 kompatibel. Die folgende Tabelle zeigt die Featureunterschiede zwischen Version 2.0 und Version 1.0.
Version 2.0 | Version 1.0 |
---|---|
SharkServer und SharkServer2 werden für serverType nicht unterstützt. |
Unterstützen Sie SharkServer und SharkServer2 bei serverType . |
Binär und SASL werden für thriftTransportProtocl nicht unterstützt. |
Unterstützung von Binary und SASL für thriftTransportProtocl . |
Der Authentifizierungstyp "Benutzername" wird nicht unterstützt. | Unterstützen Sie den Authentifizierungstyp "Benutzername". |
Der Standardwert lautet enableSSL "true".
trustedCertPath , useSystemTrustStore allowHostNameCNMismatch und allowSelfSignedServerCert werden nicht unterstützt. enableServerCertificateValidation wird unterstützt. |
Der Standardwert lautet enableSSL "false". Darüber hinaus unterstützen trustedCertPath , useSystemTrustStore , allowHostNameCNMismatch und allowSelfSignedServerCert . enableServerCertificateValidation wird nicht unterstützt. |
Die folgenden Zuordnungen werden von Spark-Datentypen zu Zwischendienstdatentypen verwendet, die intern vom Dienst verwendet werden. TimestampType -> DateTimeOffset YearMonthIntervalType -> String DayTimeIntervalType -> String |
Die folgenden Zuordnungen werden von Spark-Datentypen zu Zwischendienstdatentypen verwendet, die intern vom Dienst verwendet werden. TimestampTyp -> DatumUhrzeit Andere Zuordnungen, die von Version 2.0 (Vorschau) unterstützt werden und links aufgelistet sind, werden von Version 1.0 nicht unterstützt. |
Zugehöriger Inhalt
Eine Liste der Datenspeicher, die als Quelles und Senken für die Kopieraktivität unterstützt werden, finden Sie in der Dokumentation für Unterstützte Datenspeicher.