Bagikan melalui


Gunakan curl untuk memuat data ke HDFS di SQL Server Kluster Big Data

Berlaku untuk: SQL Server 2019 (15.x)

Artikel ini menjelaskan cara menggunakan curl untuk memuat data ke HDFS di SQL Server 2019 Kluster Big Data.

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk SQL Server 2019 Kluster Big Data akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung sepenuhnya pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan Opsi big data di platform Microsoft SQL Server.

Prasyarat

Mendapatkan IP eksternal layanan

WebHDFS dimulai ketika penyebaran selesai, dan aksesnya melewati Knox. Titik akhir Knox diekspos melalui layanan Kubernetes yang disebut gateway-svc-external. Untuk membuat URL WebHDFS yang diperlukan untuk mengunggah/mengunduh file, Anda memerlukan alamat IP eksternal layanan eksternal gateway-svc-dan nama kluster big data Anda. Anda bisa mendapatkan alamat IP eksternal layanan gateway-svc-external dengan menjalankan perintah berikut:

kubectl get service gateway-svc-external -n <big data cluster name> -o json | jq -r .status.loadBalancer.ingress[0].ip

Catatan

Berikut <big data cluster name> adalah nama kluster yang Anda tentukan dalam file konfigurasi penyebaran. Nama defaultnya adalah mssql-cluster.

Membuat URL untuk mengakses WebHDFS

Sekarang, Anda dapat membuat URL untuk mengakses WebHDFS sebagai berikut:

https://<gateway-svc-external service external IP address>:30443/gateway/default/webhdfs/v1/

Misalnya:

https://13.66.190.205:30443/gateway/default/webhdfs/v1/

Autentikasi dengan Direktori Aktif

Untuk penyebaran dengan Direktori Aktif, gunakan parameter autentikasi dengan curl autentikasi Negosiasi.

Untuk menggunakan curl dengan autentikasi Direktori Aktif, jalankan perintah ini:

kinit <username>

Perintah menghasilkan token Kerberos untuk curl digunakan. Perintah yang ditunjukkan di bagian berikutnya menentukan --anyauth parameter untuk curl. Untuk URL yang memerlukan autentikasi Negosiasi, curl secara otomatis mendeteksi dan menggunakan token Kerberos yang dihasilkan alih-alih nama pengguna dan kata sandi untuk mengautentikasi ke URL.

Mencantumkan file

Untuk mencantumkan file di bawah hdfs:///product_review_data, gunakan perintah curl berikut:

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'

Dimulai dengan SQL Server 2019 (15.x) CU 5, saat Anda menyebarkan kluster baru dengan autentikasi dasar semua titik akhir termasuk penggunaan AZDATA_USERNAME gateway dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus digunakan root sebagai nama pengguna untuk menyambungkan ke titik akhir gateway. Perubahan ini tidak berlaku untuk penyebaran menggunakan autentikasi Direktori Aktif. Lihat Kredensial untuk mengakses layanan melalui titik akhir gateway dalam catatan rilis.

Untuk titik akhir yang tidak menggunakan root, gunakan perintah curl berikut:

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'

Masukkan file lokal ke dalam HDFS

Untuk menempatkan file baru test.csv dari direktori lokal ke direktori product_review_data, gunakan perintah curl berikut ( parameter Tipe Konten diperlukan):

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'

Dimulai dengan SQL Server 2019 (15.x) CU 5, saat Anda menyebarkan kluster baru dengan autentikasi dasar semua titik akhir termasuk penggunaan AZDATA_USERNAME gateway dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus digunakan root sebagai nama pengguna untuk menyambungkan ke titik akhir gateway. Perubahan ini tidak berlaku untuk penyebaran menggunakan autentikasi Direktori Aktif. Lihat Kredensial untuk mengakses layanan melalui titik akhir gateway dalam catatan rilis.

Untuk titik akhir yang tidak menggunakan root, gunakan perintah curl berikut:

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'

Membuat direktori

Untuk membuat pengujian direktori di bawah hdfs:///, gunakan perintah berikut:

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'

Dimulai dengan SQL Server 2019 (15.x) CU 5, saat Anda menyebarkan kluster baru dengan autentikasi dasar semua titik akhir termasuk penggunaan AZDATA_USERNAME gateway dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus digunakan root sebagai nama pengguna untuk menyambungkan ke titik akhir gateway. Perubahan ini tidak berlaku untuk penyebaran menggunakan autentikasi Direktori Aktif. Lihat Kredensial untuk mengakses layanan melalui titik akhir gateway dalam catatan rilis.

Untuk titik akhir yang tidak menggunakan root, gunakan perintah curl berikut:

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'

Langkah berikutnya

Untuk informasi selengkapnya, lihat Memperkenalkan Kluster Big Data SQL Server.