หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ไลบรารีคือแพ็คเกจโค้ดที่นํากลับมาใช้ใหม่ได้ เช่น แพ็คเกจ Python จาก PyPI, แพ็คเกจ R จาก CRAN หรือ Java JAR ซึ่งคุณสามารถนําเข้าไปยังโน้ตบุ๊กและคําจํากัดความงาน Spark เพื่อเพิ่มฟังก์ชันการทํางานโดยไม่ต้องเขียนตั้งแต่ต้น Microsoft Fabric มีกลไกหลายแบบเพื่อช่วยให้คุณจัดการและใช้ไลบรารีได้
- ไลบรารีในตัว: รันไทม์ Fabric Spark แต่ละรายการมีชุดไลบรารีที่ติดตั้งไว้ล่วงหน้าที่ได้รับความนิยมมากมาย คุณสามารถค้นหารายการไลบรารีที่มีอยู่ภายในเต็มรูปแบบได้ใน Fabric Spark Runtime
- ไลบรารีสาธารณะ: ไลบรารีสาธารณะมีต้นทางจากที่เก็บ เช่น PyPI และ Conda ซึ่งได้รับการรองรับในปัจจุบัน
- ไลบรารีแบบกําหนดเอง: ไลบรารีแบบกําหนดเองอ้างอิงถึงโค้ดที่คุณหรือองค์กรของคุณสร้างขึ้น ผ้ารองรับในรูปแบบ .whl, .jar และ .tar.gz Fabric รองรับ .tar.gz เฉพาะภาษา R เท่านั้น สําหรับไลบรารีแบบกําหนดเองของ Python ให้ใช้รูปแบบ .whl
สรุปแนวทางปฏิบัติที่ดีที่สุดสําหรับการจัดการไลบรารี
สถานการณ์สมมติต่อไปนี้อธิบายแนวทางปฏิบัติที่ดีที่สุดเมื่อใช้ไลบรารีใน Microsoft Fabric
โหมดการเผยแพร่สภาพแวดล้อม (ด่วน vs เต็ม)
เมื่อคุณติดตั้งไลบรารีในสภาพแวดล้อม Fabric คุณจะเลือกโหมดการเผยแพร่ที่ควบคุมวิธีการส่งไลบรารีไปยังเซสชัน Spark ของคุณ
- โหมดด่วน จะเผยแพร่ในเวลาประมาณ 5 วินาที ไลบรารีจะติดตั้งเมื่อเซสชันสมุดบันทึกเริ่มต้นแทนที่จะติดตั้งในระหว่างการเผยแพร่ ถ้าแพคเกจโหมดด่วนมีชื่อเดียวกันกับแพคเกจโหมดเต็ม รุ่นโหมดด่วนจะแทนที่เวอร์ชันโหมดเต็มสําหรับเซสชันนั้นเท่านั้น ใช้โหมดด่วนสําหรับการพัฒนาโน้ตบุ๊กที่รวดเร็วและทําซ้ําและการทดลองในระยะเริ่มต้น
- โหมดเต็ม จะสร้างสแนปช็อตไลบรารีที่เสถียรและทําซ้ําได้ โดยทั่วไปการเผยแพร่จะใช้เวลา 3 ถึง 6 นาที เนื่องจากระบบจะแก้ไขการขึ้นต่อกันและตรวจสอบความเข้ากันได้ การเริ่มต้นเซสชันจะเพิ่มเวลา 1 ถึง 3 นาทีสําหรับการปรับใช้การขึ้นต่อกัน โดยขึ้นอยู่กับขนาดการขึ้นต่อกัน ใช้โหมดเต็มสําหรับไปป์ไลน์ การเรียกใช้ตามกําหนดการ และปริมาณงานที่ใช้ร่วมกันที่ต้องการสภาพแวดล้อมที่สอดคล้องกันและทําซ้ําได้
โหมดเต็มรูปแบบพร้อมพูลสดแบบกําหนดเอง
เมื่อต้องการรวมความเสถียรของโหมดเต็มกับการเริ่มต้นเซสชันอย่างรวดเร็ว ให้กําหนดค่า พูลสดแบบกําหนดเอง ที่แนบมากับสภาพแวดล้อมโหมดเต็ม พูลสดให้ความชุ่มชื้นแก่คลัสเตอร์ด้วยสแนปช็อตไลบรารีโหมดเต็มล่วงหน้า ทําให้สามารถเริ่มเซสชันได้ประมาณ 5 วินาทีในขณะที่รักษาสแนปช็อตที่ทําซ้ําได้
สําหรับรายละเอียดเกี่ยวกับแต่ละโหมด โปรดดู จัดการไลบรารีในสภาพแวดล้อม Fabric
สถานการณ์ที่ 1: ผู้ดูแลระบบตั้งค่าไลบรารีเริ่มต้นสําหรับพื้นที่ทํางาน
หากต้องการตั้งค่าไลบรารีเริ่มต้น คุณจะต้องเป็นผู้ดูแลระบบของพื้นที่ทํางาน ในฐานะผู้ดูแลระบบ คุณสามารถทํางานเหล่านี้ได้:
- สร้างสภาพแวดล้อมใหม่
- ติดตั้งไลบรารีที่จําเป็นในสภาพแวดล้อม
- แนบสภาพแวดล้อมนี้เป็นสภาพแวดล้อมเริ่มต้นของพื้นที่ทํางาน
เมื่อสมุดบันทึกและข้อกําหนดงาน Spark ของคุณแนบมากับ การตั้งค่าพื้นที่ทํางาน จะมีการเริ่มเซสชันที่มีไลบรารีที่ติดตั้งอยู่ในสภาพแวดล้อมเริ่มต้นของพื้นที่ทํางาน
สถานการณ์ที่ 2: ยืนยันข้อมูลจําเพาะของไลบรารีสําหรับหนึ่งหรือหลายรายการโค้ด
ถ้าคุณมีไลบรารีทั่วไปสําหรับรายการรหัสต่างๆ และไม่จําเป็นต้องอัปเดตบ่อยๆ ให้ติดตั้งไลบรารีในสภาพแวดล้อมและแนบกับรายการโค้ด
เวลาในการเผยแพร่ขึ้นอยู่กับโหมดที่คุณเลือก โหมดด่วนจะเผยแพร่ในเวลาประมาณ 5 วินาที และติดตั้งไลบรารีเมื่อเริ่มต้นเซสชัน โหมดเต็มจะแก้ไขการพึ่งพาและสร้างสแนปช็อตที่เสถียร โดยทั่วไปจะใช้เวลา 3 ถึง 6 นาทีในการเผยแพร่ และการเริ่มต้นเซสชันจะเพิ่ม 1 ถึง 3 นาทีสําหรับการปรับใช้การขึ้นต่อกัน
ประโยชน์ของวิธีการนี้คือไลบรารีที่ติดตั้งสําเร็จจะรับประกันว่าจะพร้อมใช้งานเมื่อเซสชัน Spark เริ่มต้นด้วยสภาพแวดล้อมที่แนบมา ช่วยประหยัดความพยายามในการบํารุงรักษาไลบรารีทั่วไปสําหรับโครงการของคุณ และแนะนําสําหรับสถานการณ์ไปป์ไลน์เนื่องจากความเสถียร
สถานการณ์ที่ 3: การติดตั้งแบบอินไลน์ในการเรียกใช้แบบโต้ตอบ
หากคุณกําลังเขียนโค้ดแบบโต้ตอบในสมุดบันทึก การติดตั้งแบบอินไลน์ เป็นวิธีที่ดีที่สุดสําหรับการเพิ่มไลบรารี PyPI หรือ conda หรือตรวจสอบความถูกต้องของไลบรารีแบบกําหนดเองสําหรับการใช้งานครั้งเดียว คําสั่งแบบอินไลน์ทําให้ไลบรารีพร้อมใช้งานในเซสชัน Spark ของสมุดบันทึกปัจจุบันเท่านั้น ซึ่งอนุญาตให้ติดตั้งได้อย่างรวดเร็ว แต่ไลบรารีที่ติดตั้งจะไม่คงอยู่ระหว่างเซสชัน
เนื่องจาก %pip install สามารถสร้างแผนผังการขึ้นต่อกันที่แตกต่างกันจากการเรียกใช้ไปยังการเรียกใช้ ซึ่งอาจนําไปสู่ความขัดแย้งของไลบรารี คําสั่งแบบอินไลน์จะถูกปิดโดยค่าเริ่มต้นในการเรียกใช้ไปป์ไลน์ และไม่แนะนําสําหรับไปป์ไลน์
หมายเหตุ
ไลบรารีที่ติดตั้งผ่านคําสั่งแบบอินไลน์ (เช่น %pip install หรือ %conda install) และไลบรารีที่เพิ่มจากโฟลเดอร์ Resources ของสมุดบันทึกหรือสภาพแวดล้อมจะถูกกําหนดขอบเขตไว้ที่เซสชันหรือสมุดบันทึกปัจจุบัน พวกเขาจะไม่ได้รับผลกระทบจากการเผยแพร่สภาพแวดล้อมในโหมดด่วนหรือโหมดเต็ม
ข้อมูลสรุปของชนิดไลบรารีที่สนับสนุน
| ชนิดไลบรารี | การจัดการไลบรารีสภาพแวดล้อม | การติดตั้งแบบอินไลน์ |
|---|---|---|
| Python สาธารณะ (PyPI & Conda) | รองรับ | รองรับ |
| Python ที่กําหนดเอง (.whl) | รองรับ | รองรับ |
| R สาธารณะ (CRAN) | ไม่รองรับ | รองรับ |
| R แบบกําหนดเอง (.tar.gz) | ได้รับการสนับสนุนเป็นไลบรารีแบบกําหนดเอง | รองรับ |
| เหยือก | ได้รับการสนับสนุนเป็นไลบรารีแบบกําหนดเอง | รองรับ |
การติดตั้งแบบอินไลน์
คําสั่งแบบอินไลน์ช่วยให้คุณสามารถจัดการไลบรารีภายในเซสชันสมุดบันทึกแต่ละเซสชันได้
การติดตั้ง Python แบบอินไลน์
ระบบจะรีสตาร์ทล่าม Python เพื่อใช้การเปลี่ยนแปลงไลบรารี ตัวแปรใด ๆ ที่กําหนดไว้ก่อนที่คุณเรียกใช้เซลล์คําสั่งจะสูญหาย ใส่คําสั่งทั้งหมดสําหรับการเพิ่ม ลบ หรืออัปเดตแพ็คเกจ Python ที่จุดเริ่มต้นของสมุดบันทึกของคุณ
คําสั่งแบบอินไลน์สําหรับการจัดการไลบรารี Python ถูกปิดใช้งานในไปป์ไลน์โน้ตบุ๊กที่เรียกใช้ตามค่าเริ่มต้น เมื่อต้องการเปิดใช้งาน %pip install ไปป์ไลน์ ให้เพิ่ม _inlineInstallationEnabled เป็นพารามิเตอร์บูลีนที่ตั้งค่าเป็น True ในพารามิเตอร์กิจกรรมสมุดบันทึก
หมายเหตุ
คําสั่งสามารถ %pip install สร้างผลลัพธ์ที่ไม่สอดคล้องกันตั้งแต่รันหนึ่งไปยังอีกรันหนึ่ง ติดตั้งไลบรารีในสภาพแวดล้อมและใช้สภาพแวดล้อมในไปป์ไลน์แทน
คําสั่งไม่ได้รับ %pip install การสนับสนุนในโหมดการทํางานพร้อมกันสูง
ในการเรียกใช้การอ้างอิงสมุดบันทึก คําสั่งแบบอินไลน์สําหรับการจัดการไลบรารี Python ไม่ได้รับการสนับสนุน ลบคําสั่งแบบอินไลน์เหล่านี้ออกจากสมุดบันทึกที่อ้างอิงเพื่อให้แน่ใจว่าการดําเนินการถูกต้อง
ใช้ %pip แทน!pip คําสั่งนี้เป็น !pip คําสั่งเชลล์ในตัวของ IPython ที่มีข้อจํากัดดังต่อไปนี้:
-
!pipติดตั้งแพคเกจเฉพาะบนโหนดไดรเวอร์ ไม่ใช่บนโหนดตัวดําเนินการ - แพคเกจที่ติดตั้งผ่าน
!pipจะไม่คํานึงถึงความขัดแย้งกับแพคเกจที่มีอยู่แล้วภายในหรือแพคเกจที่นําเข้าในสมุดบันทึกแล้ว
%pip จัดการกับสถานการณ์เหล่านี้ ไลบรารีที่ติดตั้งผ่าน %pip จะพร้อมใช้งานทั้งบนโหนดไดรเวอร์และตัวดําเนินการ และจะมีผลแม้ว่าจะนําเข้าไลบรารีแล้วก็ตาม
เคล็ดลับ
โดยปกติ %conda install แล้วคําสั่งจะใช้เวลานานกว่าคําสั่งใน %pip install การติดตั้งไลบรารี Python ใหม่ ซึ่งจะตรวจสอบการขึ้นต่อกันแบบเต็มและแก้ไขข้อขัดแย้ง
ใช้เพื่อ %conda install ความน่าเชื่อถือและความเสถียรที่มากขึ้น ใช้ %pip install ถ้าคุณแน่ใจว่าไลบรารีที่คุณต้องการติดตั้งไม่ขัดแย้งกับไลบรารีที่ติดตั้งไว้ล่วงหน้าในสภาพแวดล้อมรันไทม์
สําหรับคําสั่งแบบอินไลน์และการชี้แจง Python ที่พร้อมใช้งานทั้งหมด โปรดดู คําสั่ง %pip และ คําสั่ง %conda
จัดการไลบรารีสาธารณะของ Python ผ่านการติดตั้งแบบอินไลน์
ตัวอย่างนี้แสดงวิธีการใช้คําสั่งแบบอินไลน์เพื่อจัดการไลบรารี สมมติว่าคุณต้องการใช้ altair ซึ่งเป็นไลบรารีการแสดงภาพที่มีประสิทธิภาพสําหรับ Python สําหรับการสํารวจข้อมูลแบบครั้งเดียว และไลบรารีไม่ได้ติดตั้งในพื้นที่ทํางานของคุณ ตัวอย่างต่อไปนี้ใช้คําสั่ง conda เพื่อแสดงขั้นตอน
คุณสามารถใช้คําสั่งแบบอินไลน์เพื่อเปิดใช้งาน การสลับ บนเซสชันสมุดบันทึกของคุณโดยไม่มีผลต่อเซสชันอื่นของสมุดบันทึกหรือรายการอื่นๆ
เรียกใช้คําสั่งต่อไปนี้ในเซลล์รหัสสมุดบันทึก คําสั่งแรกจะติดตั้งไลบรารี altair นอกจากนี้ติดตั้ง vega_datasets ซึ่งประกอบด้วยแบบจําลองความหมายที่คุณสามารถใช้เพื่อแสดงภาพ
%conda install altair # install latest version through conda command %conda install vega_datasets # install latest version through conda commandผลลัพธ์ของเซลล์ระบุผลลัพธ์ของการติดตั้ง
นําเข้าแพคเกจและแบบจําลองความหมายโดยการเรียกใช้โค้ดต่อไปนี้ในเซลล์สมุดบันทึกอื่น
import altair as alt from vega_datasets import dataในตอนนี้คุณสามารถเล่นกับไลบรารี altair ที่มีขอบเขตเซสชัน
# load a simple dataset as a pandas DataFrame cars = data.cars() alt.Chart(cars).mark_point().encode( x='Horsepower', y='Miles_per_Gallon', color='Origin', ).interactive()
จัดการไลบรารีแบบกําหนดเองของ Python ผ่านการติดตั้งแบบอินไลน์
คุณสามารถอัปโหลดไลบรารีแบบกําหนดเอง Python ของคุณไปยังโฟลเดอร์ทรัพยากรของสมุดบันทึกของคุณหรือสภาพแวดล้อมที่แนบมา โฟลเดอร์ทรัพยากรเป็นระบบไฟล์ในตัวที่จัดทําโดยสมุดบันทึกและสภาพแวดล้อมแต่ละรายการ ดู ทรัพยากร สมุดบันทึก สําหรับรายละเอียดเพิ่มเติม หลังจากอัปโหลดไลบรารีแล้ว คุณสามารถลากและวางลงในเซลล์โค้ดเพื่อสร้างคําสั่งติดตั้งโดยอัตโนมัติ หรือคุณสามารถเรียกใช้คําสั่งต่อไปนี้:
# install the .whl through pip command from the notebook built-in folder
%pip install "builtin/wheel_file_name.whl"
หมายเหตุ
ไลบรารีแบบกําหนดเองที่ติดตั้งจากโฟลเดอร์ ทรัพยากร ผ่านคําสั่งแบบอินไลน์เป็นแบบต่อเซสชันและต่อสมุดบันทึก พวกเขาจะไม่ได้รับผลกระทบจากการเผยแพร่สภาพแวดล้อม
การติดตั้งแบบอินไลน์ R
เพื่อจัดการไลบรารี R Fabric สนับสนุนinstall.packages()คําสั่ง , remove.packages()และdevtools:: สําหรับคําสั่งแบบอินไลน์และคําสั่งแบบอินไลน์ที่พร้อมใช้งานทั้งหมด โปรดดูคําสั่ง install.packages และ remove.package command
จัดการไลบรารีสาธารณะ R ผ่านการติดตั้งแบบอินไลน์
ทําตามตัวอย่างนี้เพื่อทําตามขั้นตอนของการติดตั้งไลบรารีสาธารณะ R
เมื่อต้องการติดตั้งไลบรารีตัวดึงข้อมูล R:
สลับภาษาการทํางานไปยัง SparkR (R) ในริบบอนสมุดบันทึก
ติดตั้งไลบรารี caesar โดยการเรียกใช้คําสั่งต่อไปนี้ในเซลล์สมุดบันทึก
install.packages("caesar")ตอนนี้คุณสามารถใช้งานไลบรารี caesar ที่มีขอบเขตเซสชันด้วยงาน Spark ได้แล้ว
library(SparkR) sparkR.session() hello <- function(x) { library(caesar) caesar(x) } spark.lapply(c("hello world", "good morning", "good evening"), hello)
จัดการไลบรารี Jar ผ่านการติดตั้งแบบอินไลน์
คุณสามารถเพิ่มไฟล์ .jar ลงในเซสชันสมุดบันทึกด้วยคําสั่งต่อไปนี้
%%configure -f
{
"conf": {
"spark.jars": "abfss://<<Lakehouse prefix>>.dfs.fabric.microsoft.com/<<path to JAR file>>/<<JAR file name>>.jar",
}
}
เซลล์โค้ดก่อนหน้านี้ใช้ที่เก็บข้อมูลเลคเฮาส์เป็นตัวอย่าง ใน notebook explorer คุณสามารถคัดลอกเส้นทาง ABFS แบบเต็มของไฟล์และแทนที่ในโค้ดได้