แพ็คเกจ SAS SWAT เป็นอินเทอร์เฟซ Python ไปยังกลไก SAS Cloud Analytic Services (CAS) (ส่วนสำคัญของเฟรมเวิร์ก SAS Viya) ด้วยแพ็คเกจนี้ คุณสามารถโหลดและวิเคราะห์ชุดข้อมูลทุกขนาดบนเดสก์ท็อปหรือในระบบคลาวด์ได้ เนื่องจาก CAS สามารถใช้บนเดสก์ท็อปในพื้นที่หรือในสภาพแวดล้อมโฮสต์คลาวด์ คุณจึงสามารถวิเคราะห์ชุดข้อมูลที่มีขนาดใหญ่มากโดยใช้พลังการประมวลผลได้มากเท่าที่คุณต้องการ ในขณะที่ยังคงรักษาความง่ายในการใช้งานของ Python บนฝั่งไคลเอ็นต์ได้
เมื่อใช้ SWAT คุณสามารถดำเนินการเวิร์กโฟลว์ของการดำเนินการวิเคราะห์ CAS จากนั้นดึงข้อมูลสรุปเพื่อประมวลผลเพิ่มเติมในฝั่งไคลเอ็นต์ใน Python หรือผสานกับข้อมูลจากแหล่งอื่นโดยใช้โครงสร้างข้อมูล Pandas ที่คุ้นเคย ในความเป็นจริง แพ็คเกจ SWAT เลียนแบบ API ส่วนใหญ่ของแพ็คเกจ Pandas ดังนั้นการใช้ CAS น่าจะให้ความรู้สึกคุ้นเคยสำหรับผู้ใช้ Pandas ในปัจจุบัน
ด้วยการวิเคราะห์ SAS ที่ดีที่สุดในระบบคลาวด์และการใช้ Python และแพ็คเกจโอเพ่นซอร์สจำนวนมาก แพ็คเกจ SWAT ช่วยให้คุณเข้าถึงสิ่งที่ดีที่สุดของทั้งสองโลก
หากต้องการดูการอัปเดตของโครงการนี้ โปรดดูบันทึกการเปลี่ยนแปลง
ในการเข้าถึงโปรโตคอลไบนารี่ CAS (แนะนำ) คุณต้องมีสิ่งต่อไปนี้:
โปรโตคอลไบนารี่ต้องการส่วนประกอบที่คอมไพล์ไว้ล่วงหน้าที่พบในตัวติดตั้ง pip
เท่านั้น ชิ้นส่วนเหล่านี้ไม่สามารถใช้เป็นซอร์สโค้ดได้และอยู่ภายใต้ใบอนุญาตแยกต่างหาก (ดูเอกสารประกอบเกี่ยวกับ SAS TK) โปรโตคอลไบนารี่ให้ประสิทธิภาพที่ดีกว่า REST โดยเฉพาะเมื่อถ่ายโอนข้อมูลจำนวนมาก นอกจากนี้ยังมีการโหลดข้อมูลขั้นสูงจากไคลเอนต์และคุณสมบัติการจัดรูปแบบข้อมูล
หากต้องการเข้าถึงอินเทอร์เฟซ CAS REST เท่านั้น คุณสามารถใช้โค้ด Python แท้ซึ่งทำงานใน Python 3.7 ถึง 3.11 บนทุกแพลตฟอร์ม แม้ว่าจะไม่เร็วเท่ากับโปรโตคอลไบนารี่ แต่อินเทอร์เฟซ Python ล้วนสามารถพกพาได้มากกว่า
Linux บางตัวอาจไม่ติดตั้งไลบรารี่ที่แบ่งใช้ที่จำเป็นทั้งหมดตามค่าเริ่มต้น สิ่งที่โดดเด่นที่สุดคือ ไลบรารีที่ใช้ร่วมกัน libnuma.so.1
จำเป็นสำหรับการเชื่อมต่อโปรโตคอลไบนารี่กับ CAS หากคุณไม่มีไลบรารีนี้บนเครื่องของคุณ คุณสามารถติดตั้งแพ็คเกจ numactl
สำหรับการแจกจ่ายของคุณเพื่อให้ SWAT พร้อมใช้งานได้
แพ็คเกจ SWAT ใช้คุณสมบัติมากมายของแพ็คเกจ Pandas Python และการขึ้นต่อกันอื่น ๆ ของ Pandas หากคุณยังไม่ได้ติดตั้ง Pandas เวอร์ชัน 0.16.0 หรือสูงกว่า pip
จะติดตั้งหรืออัปเดตให้คุณเมื่อคุณติดตั้ง SWAT
หากคุณใช้ pip
เวอร์ชัน 23.1 หรือใหม่กว่าในการติดตั้งจากไฟล์ tar.gz จำเป็นต้องมีแพ็คเกจ python wheel หากคุณไม่ได้ติดตั้งแพ็คเกจนี้ คุณสามารถติดตั้งได้โดยใช้ pip
SWAT สามารถติดตั้งได้โดยใช้ pip
:
pip install swat
คุณยังสามารถติดตั้งจากไฟล์ในหน้าการเผยแพร่โครงการ SWAT เพียงค้นหาไฟล์สำหรับแพลตฟอร์มของคุณและติดตั้งโดยใช้ pip
ดังนี้:
pip install https://github.com/sassoftware/python-swat/releases/download/vX.X.X/python-swat-X.X.X-platform.tar.gz
โดยที่ XXX
คือรุ่นที่คุณต้องการติดตั้ง และ platform
คือแพลตฟอร์มที่คุณกำลังติดตั้ง คุณยังสามารถใช้การแจกจ่ายซอร์สโค้ดได้หากคุณต้องการใช้อินเทอร์เฟซ CAS REST เท่านั้น ไม่มีการรองรับโปรโตคอลไบนารี่
สำหรับเอกสารฉบับเต็ม ให้ไปที่ sassoftware.github.io/python-swat ตัวอย่างง่ายๆแสดงไว้ด้านล่าง
เมื่อคุณติดตั้ง SWAT แล้วและมีเซิร์ฟเวอร์ CAS ที่จะเชื่อมต่อ คุณสามารถนำเข้าหน่วย SWAT และสร้างการเชื่อมต่อได้::
>>> import swat
>>> conn = swat.CAS(host, port, username, password)
โปรดทราบว่าพอร์ตเริ่มต้นสำหรับการเชื่อมต่อ Python SWAT คือ 5570
หากคุณใช้ python-swat เวอร์ชัน 1.8.0 หรือใหม่กว่าเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ SAS Viya 3.5 CAS โดยใช้ Kerberos ก่อนที่จะเชื่อมต่อ คุณต้องตั้งค่า Service Principal Name (SPN) โดยใช้ตัวแปรสภาพแวดล้อม CASSPN สำหรับ SAS Viya 3.5 สตริง SPN ต้องขึ้นต้นด้วย 'sascas@' ตามด้วยชื่อโฮสต์
export CASSPN=sascas@host
หากคุณได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับ รูทีนการสนับสนุน TCP/IP negClientSSL คุณอาจมีปัญหากับการกำหนดค่าใบรับรอง SSL ของคุณ ดูเอกสารประกอบการเข้ารหัสสำหรับข้อมูลเพิ่มเติม
หากสำเร็จ คุณควรจะสามารถดำเนินการบนเซิร์ฟเวอร์ 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()
รายละเอียดข้อตกลงผู้ร่วมให้ข้อมูลเกี่ยวกับวิธีการบริจาคให้กับโครงการ การมีส่วนร่วมประกอบด้วยคำแนะนำและกฎเกณฑ์ที่เกี่ยวข้องกับการมีส่วนร่วมในโครงการ
LICENSE.md ระบุว่าแพ็คเกจนี้เผยแพร่และได้รับอนุญาตอย่างไร