Paket SAS SWAT adalah antarmuka Python ke mesin SAS Cloud Analytic Services (CAS) (inti dari kerangka kerja SAS Viya). Dengan paket ini, Anda dapat memuat dan menganalisis kumpulan data dengan ukuran berapa pun di desktop atau di cloud. Karena CAS dapat digunakan di desktop lokal atau di lingkungan cloud yang dihosting, Anda dapat menganalisis kumpulan data yang sangat besar menggunakan kekuatan pemrosesan sebanyak yang Anda perlukan, sambil tetap mempertahankan kemudahan penggunaan Python di sisi klien.
Dengan menggunakan SWAT , Anda dapat menjalankan alur kerja tindakan analitik CAS , lalu menarik data yang diringkas untuk diproses lebih lanjut di sisi klien dengan Python, atau untuk menggabungkan dengan data dari sumber lain menggunakan struktur data Pandas yang sudah dikenal. Faktanya, paket SWAT meniru sebagian besar API paket Pandas sehingga penggunaan CAS akan terasa familier bagi pengguna Pandas saat ini.
Dengan analitik SAS terbaik di cloud dan penggunaan Python serta banyak koleksi paket sumber terbuka, paket SWAT memberi Anda akses ke yang terbaik dari kedua dunia.
Untuk melihat pembaruan pada proyek ini, lihat Log Perubahan.
Untuk mengakses protokol biner CAS (disarankan), Anda memerlukan hal berikut:
Protokol biner memerlukan komponen yang telah dikompilasi sebelumnya yang hanya ditemukan di penginstal pip
. Potongan-potongan ini tidak tersedia sebagai kode sumber dan berada di bawah lisensi terpisah (lihat dokumentasi di SAS TK). Protokol biner menawarkan kinerja yang lebih baik daripada REST, terutama saat mentransfer data dalam jumlah besar. Ia juga menawarkan pemuatan data yang lebih canggih dari klien dan fitur pemformatan data.
Untuk mengakses antarmuka CAS REST saja, Anda dapat menggunakan kode Python murni yang berjalan di Python 3.7 hingga 3.11 di semua platform. Meskipun tidak secepat protokol biner, antarmuka Python murni lebih portabel.
Beberapa distribusi Linux mungkin tidak menginstal semua perpustakaan bersama yang diperlukan secara default. Terutama, perpustakaan bersama libnuma.so.1
diperlukan untuk membuat koneksi protokol biner ke CAS. Jika Anda tidak memiliki perpustakaan ini di mesin Anda, Anda dapat menginstal paket numactl
untuk distribusi Anda agar tersedia untuk SWAT.
Paket SWAT menggunakan banyak fitur paket Pandas Python dan dependensi Pandas lainnya. Jika Anda belum menginstal Pandas versi 0.16.0 atau lebih tinggi, pip
akan menginstal atau memperbaruinya untuk Anda saat Anda menginstal SWAT.
Jika Anda menggunakan pip
versi 23.1 atau lebih baru untuk menginstal dari file tar.gz, paket python wheel diperlukan. Jika Anda belum menginstal paket ini, Anda dapat menginstalnya menggunakan pip
.
SWAT dapat diinstal menggunakan pip
:
pip install swat
Anda juga dapat menginstal dari file di halaman rilis proyek SWAT. Cukup cari file untuk platform Anda dan instal menggunakan pip
sebagai berikut:
pip install https://github.com/sassoftware/python-swat/releases/download/vX.X.X/python-swat-X.X.X-platform.tar.gz
Dimana XXX
adalah rilis yang ingin Anda instal, dan platform
adalah platform tempat Anda menginstal. Anda juga dapat menggunakan distribusi kode sumber jika Anda hanya ingin menggunakan antarmuka CAS REST. Itu tidak mengandung dukungan untuk protokol biner.
Untuk dokumentasi lengkap, buka sassoftware.github.io/python-swat. Contoh sederhana ditunjukkan di bawah ini.
Setelah Anda menginstal SWAT dan memiliki server CAS untuk dihubungkan, Anda dapat mengimpor swat dan membuat koneksi::
>>> import swat
>>> conn = swat.CAS(host, port, username, password)
Perhatikan port default untuk koneksi Python SWAT adalah 5570.
Jika Anda menggunakan python-swat versi 1.8.0 atau lebih baru untuk terhubung ke server SAS Viya 3.5 CAS menggunakan Kerberos, sebelum menghubungkan Anda harus mengatur Nama Prinsipal Layanan (SPN) menggunakan variabel lingkungan CASSPN. Untuk SAS Viya 3.5, string SPN harus dimulai dengan 'sascas@', diikuti dengan nama host.
export CASSPN=sascas@host
Jika Anda mendapatkan pesan kesalahan tentang rutinitas dukungan TCP/IP negClientSSL , kemungkinan besar Anda mengalami masalah dengan konfigurasi sertifikat SSL Anda. Lihat dokumentasi Enkripsi untuk informasi lebih lanjut.
Jika berhasil, Anda seharusnya dapat menjalankan tindakan di server CAS::
>>> out = conn.serverstatus()
NOTE: Grid node action status report: 1 nodes, 6 total actions executed.
>>> print(out)
[About]
{'CAS': 'Cloud Analytic Services',
'Copyright': 'Copyright © 2014-2016 SAS Institute Inc. All Rights Reserved.',
'System': {'Hostname': 'cas01',
'Model Number': 'x86_64',
'OS Family': 'LIN X64',
'OS Name': 'Linux',
'OS Release': '2.6.32-504.12.2.el6.x86_64',
'OS Version': '#1 SMP Sun Feb 1 12:14:02 EST 2015'},
'Version': '3.01',
'VersionLong': 'V.03.01M0D08232016',
'license': {'expires': '20Oct2016:00:00:00',
'gracePeriod': 62,
'site': 'SAS Institute Inc.',
'siteNum': 1,
'warningPeriod': 31}}
[server]
Server Status
nodes actions
0 1 6
[nodestatus]
Node Status
name role uptime running stalled
0 cas01 controller 4.836 0 0
+ Elapsed: 0.0168s, user: 0.016s, sys: 0.001s, mem: 0.287mb
>>> conn.close()
Perjanjian Kontributor merinci bagaimana kontribusi dapat diberikan pada proyek. Kontribusi mencakup instruksi dan aturan yang berkaitan dengan memberikan kontribusi pada proyek.
LICENSE.md menyatakan bagaimana paket ini dirilis dan dilisensikan.