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. In Microsoft Fabric können Sie alle erforderlichen Aufgaben ausführen, 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 1.0 wird entfernt. Es wird empfohlen, den Spark-Connector von Version 1.0 auf 2.0 zu aktualisieren.
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 Amazon Virtual Private 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
Zum Ausführen der Kopieraktivität mit einer Pipeline können Sie eines der folgenden Tools oder SDKs verwenden:
- Datenkopier-Werkzeug
- Azure-Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST-API
- 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 zur 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 Spark festgelegt werden. | Ja |
| version | 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 |
| serverType | Der Typ des Spark-Servers. Der zulässige Wert lautet: SparkThriftServer |
Nein |
| thriftTransportProtocol | 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: 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 |
| httpPath | Die Teil-URL, die dem Spark-Server entspricht. Für den Authentifizierungstyp „WindowsAzureHDInsightService“ lautet der Standardwert /sparkhive2. |
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 Angabe erfolgt, 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 Spark festgelegt werden. | 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 |
| serverType | Der Typ des Spark-Servers. Zulässige Werte: SharkServer, SharkServer2, SparkThriftServer |
Nein |
| thriftTransportProtocol | Das auf der Thrift-Ebene zu verwendende Transportprotokoll. Zulässige Werte: Binary, SASL, HTTP |
Nein |
| Authentifizierungstyp | Die Authentifizierungsmethode für den Zugriff auf den Spark-Server. Zulässige Werte: 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 |
| httpPath | 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 Angabe erfolgt, 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 Typeigenschaft (type) des Datasets muss auf Folgendes 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 SparkSource festgelegt werden. | 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 | Double | Double |
| Datumstyp | Datum und Uhrzeit | Datum und Uhrzeit |
| Zeitstempeltyp | DateTimeOffset | Datum und Uhrzeit |
| StringType | Schnur | Schnur |
| Binärtyp | Byte[] | Byte[] |
| Dezimaltyp | Decimal | Decimal Zeichenfolge (Genauigkeit > 28) |
| ArrayType | Schnur | Schnur |
| StructType | Schnur | Schnur |
| Kartentyp | Schnur | Schnur |
| TimestampNTZType | Datum und Uhrzeit | Datum und Uhrzeit |
| JahrMonatIntervallTyp | 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.
Connectorlebenszyklus und -upgrade für Spark
Die folgende Tabelle zeigt die Releasestufe und Änderungsprotokolle für verschiedene Versionen des Spark-Connectors:
| Version | Freigabestufe | Änderungsprotokoll |
|---|---|---|
| Version 1.0 | Entfernt | Nicht zutreffend. |
| Version 2.0 | GA-Version verfügbar | • enableServerCertificateValidation wird unterstützt. • Der Standardwert von enableSSL ist „true“. • Für den Authentifizierungstyp „WindowsAzureHDInsightService“ lautet der Standardwert von httpPath gleich /sparkhive2.• „DecimalType“ wird als Dezimaldatentyp gelesen. • „TimestampType“ wird als DateTimeOffset-Datentyp gelesen. • „YearMonthIntervalType“, „DayTimeIntervalType“ werden als String-Datentyp gelesen. • trustedCertPath, useSystemTrustStore, allowHostNameCNMismatch und allowSelfSignedServerCert werden nicht unterstützt. • SharkServer und SharkServer2 werden für serverType nicht unterstützt. • Binärdatei und SASL werden für thriftTransportProtocl nicht unterstützt. • Der Authentifizierungstyp „Benutzername“ wird nicht unterstützt. |
Aktualisieren des Spark-Connectors von Version 1.0 auf Version 2.0
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".
Verwandte Inhalte
Eine Liste der Datenspeicher, die als Quellen und Senken für die Copy-Aktivität unterstützt werden, finden Sie in der Dokumentation zu unterstützten Datenspeichern.