Trino คือโปรแกรมสืบค้น SQL แบบกระจายที่รวดเร็วสำหรับการวิเคราะห์ข้อมูลขนาดใหญ่
ดูคู่มือการใช้งานสำหรับคำแนะนำในการปรับใช้และเอกสารสำหรับผู้ใช้ปลายทาง
เรียนรู้เกี่ยวกับการพัฒนาสำหรับโครงการองค์กร Trino ทั้งหมด:
ข้อมูลเพิ่มเติมในส่วนการพัฒนาของเว็บไซต์รวมถึงบทบาทที่แตกต่างกัน เช่น ผู้สนับสนุน ผู้ตรวจสอบ และผู้ดูแล กระบวนการที่เกี่ยวข้อง และด้านอื่น ๆ
ดูคู่มือนักพัฒนา Trino สำหรับข้อมูลเกี่ยวกับ SPI การใช้งานตัวเชื่อมต่อและปลั๊กอินปลั๊กอินอื่นๆ โปรโตคอลไคลเอ็นต์ การทดสอบการเขียน และรายละเอียดระดับล่างอื่นๆ
ดูการพัฒนาสำหรับข้อมูลเกี่ยวกับรูปแบบโค้ด กระบวนการพัฒนา และแนวทางปฏิบัติ
ดูการบริจาคสำหรับข้อกำหนดการบริจาค
ดูนโยบายความปลอดภัยของโครงการสำหรับข้อมูลเกี่ยวกับการรายงานช่องโหว่
Trino รองรับบิลด์ที่ทำซ้ำได้ในเวอร์ชัน 449
Trino เป็นโครงการ Maven มาตรฐาน เพียงรันคำสั่งต่อไปนี้จากไดเร็กทอรีรูทของโปรเจ็กต์:
./mvnw clean install -DskipTests
ในการสร้างครั้งแรก Maven จะดาวน์โหลดการขึ้นต่อกันทั้งหมดจากอินเทอร์เน็ตและแคชไว้ในพื้นที่เก็บข้อมูลในเครื่อง ( ~/.m2/repository
) ซึ่งอาจใช้เวลาสักครู่ ขึ้นอยู่กับความเร็วการเชื่อมต่อของคุณ การสร้างครั้งต่อไปจะเร็วขึ้น
Trino มีชุดการทดสอบที่ครอบคลุมซึ่งใช้เวลานานพอสมควรในการรัน และด้วยเหตุนี้จึงถูกปิดใช้งานโดยคำสั่งข้างต้น การทดสอบเหล่านี้ดำเนินการโดยระบบ CI เมื่อคุณส่งคำขอดึง เราขอแนะนำให้รันการทดสอบเฉพาะในพื้นที่สำหรับโค้ดที่คุณเปลี่ยนแปลง
หลังจากสร้าง Trino เป็นครั้งแรก คุณสามารถโหลดโปรเจ็กต์ลงใน IDE ของคุณและรันเซิร์ฟเวอร์ได้ เราแนะนำให้ใช้ IntelliJ IDEA เนื่องจาก Trino เป็นโปรเจ็กต์ Maven มาตรฐาน คุณจึงสามารถนำเข้าลงใน IDE ของคุณได้อย่างง่ายดาย ใน IntelliJ ให้เลือก Open Project จากกล่อง Quick Start หรือเลือก Open จากเมนู File และเลือกไฟล์ root pom.xml
หลังจากเปิดโปรเจ็กต์ใน IntelliJ ให้ตรวจสอบอีกครั้งว่า Java SDK ได้รับการกำหนดค่าอย่างเหมาะสมสำหรับโปรเจ็กต์:
วิธีที่ง่ายที่สุดในการรัน Trino เพื่อการพัฒนาคือการรันคลาส TpchQueryRunner
โดยจะเริ่มเวอร์ชันการพัฒนาของเซิร์ฟเวอร์ที่กำหนดค่าด้วยตัวเชื่อมต่อ TPCH จากนั้นคุณสามารถใช้ CLI เพื่อดำเนินการค้นหากับเซิร์ฟเวอร์นี้ได้ ตัวเชื่อมต่ออื่นๆ จำนวนมากมีคลาส *QueryRunner
ของตัวเองที่คุณสามารถใช้เมื่อทำงานกับตัวเชื่อมต่อเฉพาะ
Trino มาพร้อมกับการกำหนดค่าตัวอย่างที่ควรใช้งานได้ทันทีสำหรับการพัฒนา ใช้ตัวเลือกต่อไปนี้เพื่อสร้างการกำหนดค่าการรัน:
io.trino.server.DevelopmentServer
-ea -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties -Djdk.attach.allowAttachSelf=true
$MODULE_DIR$
trino-server-dev
ไดเร็กทอรีการทำงานควรเป็นไดเร็กทอรีย่อย trino-server-dev
ใน IntelliJ การใช้ $MODULE_DIR$
จะทำสิ่งนี้ให้สำเร็จโดยอัตโนมัติ
หากไม่มี VM options
ในกล่องโต้ตอบ คุณต้องเลือก Modify options
และเปิดใช้งาน Add VM options
หากต้องการปรับเปลี่ยนปลั๊กอินที่เปิดใช้งานสำหรับเซิร์ฟเวอร์การพัฒนา ให้ปรับค่าของ plugin.bundles
ใน config.properties
แต่ละรายการในรายการนี้จะต้องแสดงถึงปลั๊กอินที่ระบุโดยตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้:
pom.xml
หรือ *.pom
ที่อธิบายโปรเจ็กต์ Maven ที่สร้างปลั๊กอิน<groupId>:<artifactId>[:<extension>[:<classifier>]]:<version>
ปลั๊กอินจะถูกโหลดผ่าน Maven ดังนั้นจึงต้องพร้อมใช้งานในพื้นที่เก็บข้อมูลในเครื่องของคุณหรือพื้นที่เก็บข้อมูลระยะไกล หากคุณต้องการใช้ปลั๊กอินในแค็ตตาล็อก คุณต้องเพิ่มไฟล์ <catalog_name>.properties
ที่เกี่ยวข้องลงใน testing/trino-server-dev/etc/catalog
เริ่ม CLI เพื่อเชื่อมต่อกับเซิร์ฟเวอร์และเรียกใช้คำสั่ง SQL:
client/trino-cli/target/trino-cli-*-executable.jar
เรียกใช้แบบสอบถามเพื่อดูโหนดในคลัสเตอร์:
SELECT * FROM system.runtime.nodes;
เรียกใช้แบบสอบถามกับตัวเชื่อมต่อ TPCH:
SELECT * FROM tpch.tiny.region;