Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : SQL Server 2019 (15.x)
Cet article explique comment utiliser curl pour charger des données dans HDFS sur Clusters de Big Data SQL Server 2019.
Important
Les clusters Big Data Microsoft SQL Server 2019 sont mis hors service. La prise en charge des clusters Big Data SQL Server 2019 a pris fin le 28 février 2025. Pour plus d’informations, consultez le billet de blog d’annonce et les options Big Data sur la plateforme Microsoft SQL Server.
Prerequisites
Obtenir l’adresse IP externe du service
WebHDFS démarre lorsque le déploiement est terminé et que son accès est passé par Knox. Le point de terminaison Knox est exposé via un service Kubernetes nommé gateway-svc-external. Pour créer l’URL WebHDFS nécessaire au téléchargement et au chargement des fichiers, vous avez besoin de l’adresse IP externe du service gateway-svc-external et du nom du cluster Big Data. Vous pouvez récupérer l’adresse IP externe du service gateway-svc-external en exécutant la commande suivante :
kubectl get service gateway-svc-external -n <big data cluster name> -o json | jq -r .status.loadBalancer.ingress[0].ip
Note
<big data cluster name> correspond au nom du cluster que vous avez spécifié dans le fichier de configuration du déploiement. Le nom par défaut est mssql-cluster.
Construire l’URL pour accéder à WebHDFS
Vous pouvez maintenant construire l’URL pour accéder à WebHDFS de la façon suivante :
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/
Authentification auprès d’Active Directory
Pour les déploiements avec Active Directory, utilisez le paramètre d’authentification avec curl avec l’authentification par négociation.
Pour utiliser curl avec l’authentification Active Directory, exécutez la commande suivante :
kinit <username>
La commande génère un jeton Kerberos utilisable par curl. Les commandes présentées dans les sections suivantes spécifient le paramètre --anyauth pour curl. Pour les URL qui nécessitent l’authentification par négociation, curl détecte et utilise automatiquement le jeton Kerberos généré au lieu du nom d’utilisateur et du mot de passe pour s’authentifier auprès des URL.
Lister un fichier
Pour lister le fichier sous hdfs:///product_review_d, utilisez la commande curl suivante :
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'
À partir de SQL Server 2019 (15.x) CU 5, lorsque vous déployez un nouveau cluster avec l’authentification de base, tous les points de terminaison, dont la passerelle, utilisent AZDATA_USERNAME et AZDATA_PASSWORD. Les points de terminaison sur les clusters mis à niveau vers la CU 5 continuent à utiliser root comme nom d’utilisateur pour se connecter au point de terminaison de la passerelle. Cette modification ne s’applique pas aux déploiements utilisant l’authentification Active Directory. Voir Informations d’identification pour l’accès aux services via le point de terminaison de passerelle dans les notes de publication.
Pour les points de terminaison qui n’utilisent pas la racine, utilisez la commande cURL suivante :
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'
Placer un fichier local dans HDFS
Pour déplacer un nouveau fichier test.csv du répertoire local vers le répertoire product_review_data, utilisez la commande curl suivante (le paramètre Content-Type est obligatoire) :
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'
À partir de SQL Server 2019 (15.x) CU 5, lorsque vous déployez un nouveau cluster avec l’authentification de base, tous les points de terminaison, dont la passerelle, utilisent AZDATA_USERNAME et AZDATA_PASSWORD. Les points de terminaison sur les clusters mis à niveau vers la CU 5 continuent à utiliser root comme nom d’utilisateur pour se connecter au point de terminaison de la passerelle. Cette modification ne s’applique pas aux déploiements utilisant l’authentification Active Directory. Voir Informations d’identification pour l’accès aux services via le point de terminaison de passerelle dans les notes de publication.
Pour les points de terminaison qui n’utilisent pas la racine, utilisez la commande cURL suivante :
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'
Créer un répertoire
Pour créer un répertoire test sous hdfs:///, utilisez la commande suivante :
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'
À partir de SQL Server 2019 (15.x) CU 5, lorsque vous déployez un nouveau cluster avec l’authentification de base, tous les points de terminaison, dont la passerelle, utilisent AZDATA_USERNAME et AZDATA_PASSWORD. Les points de terminaison sur les clusters mis à niveau vers la CU 5 continuent à utiliser root comme nom d’utilisateur pour se connecter au point de terminaison de la passerelle. Cette modification ne s’applique pas aux déploiements utilisant l’authentification Active Directory. Voir Informations d’identification pour l’accès aux services via le point de terminaison de passerelle dans les notes de publication.
Pour les points de terminaison qui n’utilisent pas la racine, utilisez la commande cURL suivante :
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
Pour plus d’informations, consultez Présentation des Clusters Big Data SQL Server.