Verwenden von curl, um Daten in HDFS in Big Data-Cluster für SQL Server zu laden
Gilt für: SQL Server 2019 (15.x)
In diesem Artikel wird erläutert, wie Sie curl verwenden, um Daten in HDFS in SQL Server 2019: Big Data-Cluster zu laden.
Wichtig
Das Microsoft SQL Server 2019-Big Data-Cluster-Add-On wird eingestellt. Der Support für SQL Server 2019-Big Data-Clusters endet am 28. Februar 2025. Alle vorhandenen Benutzer*innen von SQL Server 2019 mit Software Assurance werden auf der Plattform vollständig unterstützt, und die Software wird bis zu diesem Zeitpunkt weiterhin über kumulative SQL Server-Updates verwaltet. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.
Voraussetzungen
Abrufen der externen IP des Diensts
WebHDFS wird gestartet, wenn die Bereitstellung abgeschlossen ist, und dessen Zugriff erfolgt über Knox. Der Knox-Endpunkt wird über einen Kubernetes-Dienst namens gateway-svc-external verfügbar gemacht. Um die WebHDFS-URL zu erstellen, die zum Hochladen/Herunterladen von Dateien erforderlich ist, benötigen Sie die externe IP-Adresse des gateway-svc-external-Diensts und den Namen Ihres Big Data-Clusters. Sie können die externe IP-Adresse des gateway-svc-external-Diensts abrufen, indem Sie den folgenden Befehl ausführen:
kubectl get service gateway-svc-external -n <big data cluster name> -o json | jq -r .status.loadBalancer.ingress[0].ip
Hinweis
Der <big data cluster name>
hier ist der Name des Clusters, den Sie in der Bereitstellungskonfigurationsdatei angegeben haben. Der Standardname ist mssql-cluster
.
Erstellen der URL für den Zugriff auf WebHDFS
Nun können Sie die URL für den Zugriff auf das WebHDFS wie folgt erstellen:
https://<gateway-svc-external service external IP address>:30443/gateway/default/webhdfs/v1/
Beispiel:
https://13.66.190.205:30443/gateway/default/webhdfs/v1/
Authentifizierung mit Active Directory
Verwenden Sie für Bereitstellungen mit Active Directory den Authentifizierungsparameter mit curl
mit Aushandlungsauthentifizierung.
Führen Sie diesen Befehl aus, um curl
mit Active Directory-Authentifizierung zu verwenden:
kinit <username>
Der Befehl generiert ein Kerberos-Token für die Verwendung durch curl
. Die in den nächsten Abschnitten vorgestellten Befehle geben den --anyauth
-Parameter für curl
an. Für URLs, die Aushandlungsauthentifizierung erfordern, erkennt curl
automatisch das generierte Kerberos-Token und verwendet es anstelle von Benutzername und Kennwort für die Authentifizierung bei der URL.
Auflisten einer Datei
Um die Datei unter hdfs:///product_review_data aufzulisten, verwenden Sie den folgenden curl-Befehl:
curl -i -k --anyauth -u root:<AZDATA_PASSWORD> -X GET 'https://<gateway-svc-external IP external address>:30443/gateway/default/webhdfs/v1/product_review_data/?op=liststatus'
Beginnend mit SQL Server 2019 (15.x) CU 5 verwenden alle Endpunkte einschließlich Gateway AZDATA_USERNAME
und AZDATA_PASSWORD
, wenn Sie einen neuen Cluster mit Standardauthentifizierung bereitstellen. Endpunkte auf Clustern, die ein Upgrade auf CU 5 erhalten, verwenden weiterhin root
als Nutzername für die Verbindung mit dem Gatewayendpunkt. Diese Änderung gilt nicht für Bereitstellungen, die die Active Directory-Authentifizierung verwenden. Weitere Informationen finden Sie unter Anmeldeinformationen für den Zugriff auf Dienste über den Gatewayendpunkt in den Versionshinweisen.
Verwenden Sie für Endpunkte ohne Stamm den folgenden curl-Befehl:
curl -i -k --anyauth -u <AZDATA_USERNAME>:<AZDATA_PASSWORD> -X GET 'https://<gateway-svc-external IP external address>:30443/gateway/default/webhdfs/v1/product_review_data/?op=liststatus'
Ablegen einer lokalen Datei in HDFS
Um die neue Datei test.csv aus dem lokalen Verzeichnis im Verzeichnis „product_review_data“ abzulegen, verwenden Sie den folgenden curl-Befehl (der Content-Type-Parameter ist erforderlich):
curl -i -L -k --anyauth -u root:<AZDATA_PASSWORD> -X PUT 'https://<gateway-svc-external IP external address>:30443/gateway/default/webhdfs/v1/product_review_data/test.csv?op=create' -H 'Content-Type: application/octet-stream' -T 'test.csv'
Beginnend mit SQL Server 2019 (15.x) CU 5 verwenden alle Endpunkte einschließlich Gateway AZDATA_USERNAME
und AZDATA_PASSWORD
, wenn Sie einen neuen Cluster mit Standardauthentifizierung bereitstellen. Endpunkte auf Clustern, die ein Upgrade auf CU 5 erhalten, verwenden weiterhin root
als Nutzername für die Verbindung mit dem Gatewayendpunkt. Diese Änderung gilt nicht für Bereitstellungen, die die Active Directory-Authentifizierung verwenden. Weitere Informationen finden Sie unter Anmeldeinformationen für den Zugriff auf Dienste über den Gatewayendpunkt in den Versionshinweisen.
Verwenden Sie für Endpunkte ohne Stamm den folgenden curl-Befehl:
curl -i -L -k --anyauth -u <AZDATA_USERNAME>:<AZDATA_PASSWORD> -X PUT 'https://<gateway-svc-external IP external address>:30443/gateway/default/webhdfs/v1/product_review_data/test.csv?op=create' -H 'Content-Type: application/octet-stream' -T 'test.csv'
Erstellen eines Verzeichnisses
Um das Verzeichnis test unter hdfs:///
zu erstellen, verwenden Sie den folgenden Befehl:
curl -i -L -k --anyauth -u root:<AZDATA_PASSWORD> -X PUT 'https://<gateway-svc-external IP external address>:30443/gateway/default/webhdfs/v1/test?op=MKDIRS'
Beginnend mit SQL Server 2019 (15.x) CU 5 verwenden alle Endpunkte einschließlich Gateway AZDATA_USERNAME
und AZDATA_PASSWORD
, wenn Sie einen neuen Cluster mit Standardauthentifizierung bereitstellen. Endpunkte auf Clustern, die ein Upgrade auf CU 5 erhalten, verwenden weiterhin root
als Nutzername für die Verbindung mit dem Gatewayendpunkt. Diese Änderung gilt nicht für Bereitstellungen, die die Active Directory-Authentifizierung verwenden. Weitere Informationen finden Sie unter Anmeldeinformationen für den Zugriff auf Dienste über den Gatewayendpunkt in den Versionshinweisen.
Verwenden Sie für Endpunkte ohne Stamm den folgenden curl-Befehl:
curl -i -L -k --anyauth -u <AZDATA_USERNAME>:<AZDATA_PASSWORD> -X PUT 'https://<gateway-svc-external IP external address>:30443/gateway/default/webhdfs/v1/test?op=MKDIRS'
Nächste Schritte
Weitere Informationen finden Sie hier: Einführung in Big Data-Cluster für SQL Server.