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: 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.
Important
Die Big Data Cluster von Microsoft SQL Server 2019 werden eingestellt. Der Support für SQL Server 2019 Big Data Cluster endete am 28. Februar 2025. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und den Big Data-Optionen auf der Microsoft SQL Server-Plattform.
Prerequisites
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
Note
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/
For example:
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'
Next steps
Weitere Informationen finden Sie hier: Einführung in Big Data-Cluster für SQL Server.