Bagikan melalui


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

Berlaku untuk: SQL Server 2019 (15.x)

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

Penting

Add-on Microsoft SQL Server 2019 untuk Kluster Big Data akan dihentikan. Dukungan untuk Kluster Big Data SQL Server 2019 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 layanan eksternal

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 gateway-svc-external 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

Nota

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/

Contohnya:

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 yang dapat digunakan oleh curl. 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.

Daftar 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 gateway menggunakan AZDATA_USERNAME dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus menggunakan root sebagai nama pengguna untuk terhubung 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 barutest.csv dari direktori lokal ke direktori product_review_data, gunakan perintah curl berikut (parameter Jenis 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 gateway menggunakan AZDATA_USERNAME dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus menggunakan root sebagai nama pengguna untuk terhubung 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 direktori test 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 gateway menggunakan AZDATA_USERNAME dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus menggunakan root sebagai nama pengguna untuk terhubung 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 selanjutnya

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