Freigeben über


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.