เรียนรู้วิธีใช้ node Databricks ใน n8n ปฏิบัติตามเอกสารทางเทคนิคเพื่อรวม node Databricks เข้ากับ workflow ของคุณ
ใช้ node Databricks เพื่อทำงานอัตโนมัติใน Databricks และรวม Databricks เข้ากับแอปพลิเคชันอื่นๆ n8n มีการรองรับในตัวสำหรับคุณสมบัติ Databricks ที่หลากหลาย รวมถึงงานที่กำลังรัน, การเรียกใช้คำสั่ง SQL, การจัดการ object Unity Catalog, การสืบค้นโมเดล ML ที่ให้บริการตำแหน่งข้อมูล และการทำงานกับดัชนีการค้นหาเวกเตอร์
ในหน้านี้ คุณจะพบรายการการดำเนินการที่ node Databricks รองรับและลิงก์ไปยังแหล่งข้อมูลเพิ่มเติม
Credentials
อ้างถึง Databricks credentials สำหรับคำแนะนำในการตั้งค่าการรับรองความถูกต้อง
node นี้สามารถใช้เป็นเครื่องมือ AI ได้ (This node can be used as an AI tool)
node นี้สามารถใช้เพื่อเพิ่มขีดความสามารถของ AI Agent เมื่อใช้ในลักษณะนี้ parameter จำนวนมากสามารถตั้งค่าได้โดยอัตโนมัติ หรือด้วยข้อมูลที่ควบคุมโดย AI ดูข้อมูลเพิ่มเติมได้ใน เอกสารประกอบ parameter เครื่องมือ AI .
การดำเนินงาน
- Databrick SQL
- ดำเนินการค้นหา
- ไฟล์
- สร้างไดเรกทอรี
- ลบไดเรกทอรี
- ลบไฟล์
- ดาวน์โหลดไฟล์
- รับข้อมูลเมตาของไฟล์
- รายการไดเร็กทอรี
- อัพโหลดไฟล์
- จีนี่
- สร้างข้อความสนทนา
- ดำเนินการแบบสอบถามข้อความ SQL
- รับข้อความสนทนา
- รับ Genie Space
- รับผลลัพธ์แบบสอบถาม
- เริ่มการสนทนา
- งาน
- รับ
- รับการเรียกใช้
- รับเอาท์พุตการรัน
- วิ่ง
- โมเดลเสิร์ฟ
- ปลายทางแบบสอบถาม
- แคตตาล็อกความสามัคคี
- สร้างแคตตาล็อก
- สร้างฟังก์ชั่น
- สร้างโวลุ่ม
- ลบแคตตาล็อก
- ลบฟังก์ชั่น
- ลบโวลุ่ม
- รับแคตตาล็อก
- รับฟังก์ชั่น
- รับโต๊ะ
- รับปริมาณ
- แสดงรายการแคตตาล็อก
- ฟังก์ชันรายการ
- ตารางรายการ
- รายการวอลุ่ม
- อัปเดตแคตตาล็อก
- ค้นหาเวกเตอร์
- สร้างดัชนี
- รับดัชนี
- ดัชนีรายการ
- ดัชนีแบบสอบถาม
การปฏิบัติงาน
ใช้ Job ทรัพยากรเพื่อเริ่มการรันงานที่มีอยู่ อ่านสถานะและเอาท์พุตของการรัน และอ่านคำจำกัดความของงาน ทุกการดำเนินการจะเรียกใช้ Databricks Jobs API 2.2
งาน การวิ่ง และงาน (Jobs, runs, and tasks)
Databricks แยกงานจากการรัน และการรันออกจากงาน:
- A งาน (job) คือคำจำกัดความ: ชื่อ งาน คลัสเตอร์ และกำหนดการ มีรหัสงาน. Get และ Run รับงาน
- A วิ่ง (run) คือการปฏิบัติงานอย่างหนึ่ง มีรหัสการรันของตัวเองและหน้าการรันใน Databricks Get Run และ Get Run Output วิ่ง Run ส่งคืน ID การรันของการรันที่เริ่มต้น
- A งาน (task) คือก้าวหนึ่งในการวิ่ง แต่ละงานมีคีย์งานและรหัสการรันงานของตัวเอง Get Run Output อ่านทุกงานของการรันและส่งคืนหนึ่งรายการต่องาน
เลือกงานหรือเรียกใช้ (Select a job or run)
ที่ Job สนาม (บน Get และ Run ) และ Run สนาม (บน Get Run และ Get Run Output ) มีสามโหมด:
- From list : เลือกงานจากพื้นที่ทำงาน หรือการรันจากการรันล่าสุดของงานทั้งหมด พิมพ์เพื่อกรอง The run list shows the run name (or
Job <job-id>) ผลลัพธ์หรือสถานะปัจจุบันของการรันที่ยังไม่เสร็จสิ้น เวลาเริ่มต้นใน UTC และรหัสการรัน - By ID : ใส่รหัสตัวเลข node จะปฏิเสธสิ่งใดก็ตามที่ไม่ใช่จำนวนเต็ม
- By URL : paste the page URL from Databricks. node ยอมรับ
https://<your-workspace>/jobs/<job-id>สำหรับงานและhttps://<your-workspace>/jobs/<job-id>/runs/<run-id>สำหรับการวิ่ง It also accepts the hash form of both pages,https://<your-workspace>/?o=<workspace-id>#job/<job-id>และhttps://<your-workspace>/?o=<workspace-id>#job/<job-id>/run/<run-id>มีหรือไม่มีก็ได้?o=<workspace-id>.
Get
Get reads the definition of the job in the Job สนาม จะส่งคืนหนึ่งรายการพร้อมกับงานเมื่อ Databricks ส่งคืน รวมถึง job_id, creator_user_name, run_as_user_name, created_time, settings , and, when the job has a trigger, trigger_state . node อ่านงาน คลัสเตอร์งาน สภาพแวดล้อม หรือ parameter ของงานเดียวได้สูงสุด 2,000 รายการ เกินกว่าที่จะล้มเหลวด้วย Job <job-id> has more settings entries than the node can read.
Get Run
Get Run อ่านการรันใน Run และส่งคืน object run จาก Databricks พร้อมด้วยฟิลด์พิเศษ 5 ฟิลด์:
| สนาม | ความคุ้มค่า |
|---|---|
run_state |
สถานะของวงจรชีวิต เป็นต้น RUNNING หรือ TERMINATED. |
run_finished |
true เมื่อการวิ่งเข้าสู่สภาวะสุดท้าย |
run_result |
ตัวอย่างเช่นรหัสการเลิกจ้าง SUCCESS, SUCCESS_WITH_FAILURES, CANCELED หรือ RUN_EXECUTION_ERROR. null จนกว่าการวิ่งจะเสร็จสิ้น |
run_succeeded |
true เมื่อ run_result คือ SUCCESS, false เพื่อผลลัพธ์อื่นใด null จนกว่าการวิ่งจะเสร็จสิ้น |
run_error_message |
ข้อความยุติการดำเนินการที่ไม่สำเร็จ ตัดเหลือ 500 อักขระ null มิฉะนั้น |
ใช้ฟิลด์เหล่านี้ในไฟล์ If node ต่อสาขาบนผลลัพธ์โดยไม่ต้องอ่านแบบซ้อน status วัตถุ
Get Run Output
Get Run Output อ่านสิ่งที่งานของการวิ่งเกิดขึ้น ชุด Run เพื่อรันงานเพื่อรับทุกงาน รหัสการรันงานจะส่งคืนหนึ่งรายการสำหรับงานนั้นเท่านั้น node อ่านงานของการรัน ดึงข้อมูล output ของแต่ละงาน และส่งคืนหนึ่งรายการต่องาน:
| สนาม | ความคุ้มค่า |
|---|---|
run_id |
การวิ่งที่คุณขอ |
job_id |
งานที่การวิ่งเป็นของ |
task_key |
กุญแจสำคัญของงานในคำจำกัดความของงาน หายไปเมื่อคุณส่ง ID การรันงาน |
task_run_id |
รหัสการรันของงานนี้ |
truncated |
true เมื่อ Databricks ตัดเอาท์พุตโน้ตบุ๊กหรือบันทึก |
notebook_output, sql_output, dbt_output, run_job_output, clean_rooms_notebook_output, logs, logs_truncated, error, error_trace, info, metadata |
ผลลัพธ์ของงานเมื่อ Databricks ส่งคืน ฟิลด์ใดที่ปรากฏขึ้นอยู่กับประเภทงาน notebook_output.result holds the value a notebook returns with dbutils.notebook.exit(). error อธิบายว่าเหตุใดงานจึงล้มเหลวหรือเหตุใดจึงไม่มี output งาน |
การรันที่ไม่มีงานจะส่งคืนหนึ่งรายการสำหรับการรันนั้นเอง คุณยังสามารถอ่านการรันที่ยังไม่เสร็จสิ้นได้ แต่งานที่ยังดำเนินการอยู่ยังไม่มีเอาท์พุต The node reads at most 2,000 tasks of one run. เกินกว่าที่จะล้มเหลวด้วย Run <run-id> has more tasks than the node can read.
Run
Run starts a run of the job, the same as วิ่งตอนนี้ (Run now) ในดาต้าบริคส์
| สนาม | คำอธิบาย |
|---|---|
| Job | งานที่จะรัน. |
| Job Parameters | parameter ระดับงานสำหรับการรันนี้ เลือก Add Parameter และป้อนก Name และก Value สำหรับแต่ละคน ซึ่งจะแทนที่ค่าเริ่มต้นที่กำหนดไว้ในงาน node ส่งทุกค่าเป็น string |
| Wait for Completion | ไม่ว่าจะรอจนการวิ่งเสร็จสิ้นและกลับการวิ่งครั้งสุดท้าย ปิดโดยค่าเริ่มต้น |
| Timeout (ใน Options) | เวลาสูงสุดเป็นวินาทีเพื่อรอให้การวิ่งเสร็จสิ้น ค่าเริ่มต้น 600 , ขั้นต่ำ 1 . แสดงเฉพาะเมื่อ Wait for Completion เปิดอยู่ |
ด้วย Wait for Completion ปิด node ส่งคืน run ID ใหม่ทันที และงานยังคงรันอยู่ใน Databricks:
{
"run_id": 41847992357943,
"number_in_job": 41847992357943
}
ผ่าน run_id ถึง Get Run หรือ Get Run Output ค่อยมาอ่านผลทีหลัง
รอให้การวิ่งเสร็จสิ้น (Wait for the run to finish)
ด้วย Wait for Completion เปิด node จะตรวจสอบการรันทุกๆ 5 วินาทีจนกว่าจะถึงสถานะสุดท้าย ( TERMINATED, SKIPPED หรือ INTERNAL_ERROR ) หรือจนกว่าจะถึง Timeout ผ่าน การยกเลิกการดำเนินการจะหยุดการรอ จากนั้น:
- หากการรันสำเร็จ node จะส่งคืน object การรันแบบเต็มจาก Databricks
- หากการรันจบลงด้วยผลอย่างอื่นได้แก่
SUCCESS_WITH_FAILURESและCANCELEDnode ล้มเหลวด้วยJob run <run-id> failed (<code>): <message>(หรือโค้ดอีกครั้งเมื่อ Databricks ไม่มีข้อความ) และ URL ของเพจที่รัน - หากการรันยังคงดำเนินต่อไปเมื่อหมดเวลา node จะล้มเหลวด้วย
Job run <run-id> did not finish within <n> seconds. ข้อผิดพลาดจะตั้งชื่อสถานะสุดท้ายและ URL ของเพจที่รัน node ไม่ยกเลิกการรันใน Databricks ยก Timeout หรือปิด Wait for Completion และอ่านการวิ่งในภายหลังด้วย Get Run.
งานบางอย่างทำงานนานกว่าที่การดำเนินการ workflow ควรรอ สำหรับเรื่องนั้นให้เริ่มวิ่งด้วย Wait for Completion ปิด ให้ก Databricks Trigger node เริ่ม workflow ที่สองเมื่อการรันสิ้นสุดลง
ใบอนุญาตทำงานที่จำเป็น (Required job permissions)
ข้อมูลประจำตัวที่ข้อมูลประจำตัวรับรองความถูกต้องตามความต้องการ การเข้าถึงพื้นที่ทำงาน (Workspace access) สิทธิและการอนุญาตในการทำงาน:
| การดำเนินงาน | ขออนุญาติเข้างาน |
|---|---|
| Get, Get Run, Get Run Output | CAN VIEW |
| Run | CAN MANAGE RUN |
CAN MANAGE และ IS OWNER รวมถึงสิทธิ์ทั้งสอง Databricks ส่งคืนเฉพาะงานและดำเนินการข้อมูลประจำตัวที่มี CAN VIEW ต่อไป ดังนั้น Job และ Run รายการเสนอเฉพาะรายการเหล่านั้นเท่านั้น การวิ่งเริ่มต้นด้วย Run ดำเนินการตามข้อมูลประจำตัวของงาน ไม่ใช่ credentials Get ส่งคืนข้อมูลระบุตัวตนนี้เป็น run_as_user_name . ตามค่าเริ่มต้น นี่คือเจ้าของงาน อ้างถึง สิทธิ์ Databricks ที่จำเป็น สำหรับทรัพยากรอื่นๆ ของ node
เมื่อการอนุญาตหายไป Databricks จะปฏิเสธคำขอด้วย PERMISSION_DENIED . n8n แสดงข้อความ Databricks เป็นข้อผิดพลาด ข้อความระบุชื่อสิทธิ์ที่ขาดหายไป n8n เพิ่มหนึ่งในคำแนะนำเหล่านี้เป็นคำอธิบายข้อผิดพลาด:
Grant at least Can View on the job to the signed-in user or service principal in Databricks, then retry.
Grant at least Can Manage Run on the job to the signed-in user or service principal in Databricks, then retry.
ตัวอย่าง: แจ้งเตือนเมื่อการดำเนินการงานล้มเหลว (Example: Notify when a job run fails)
workflow นี้จะโพสต์ข้อความ Slack หนึ่งข้อความสำหรับแต่ละงานที่ล้มเหลว
เพิ่มก Databricks Trigger node ชุด Resource ถึง Job . เลือกงานเข้า. Job . ชุด Events ถึง Run Failed เท่านั้น เก็บ Simplify บน trigger จะเริ่มทำงานหนึ่งครั้งสำหรับการเรียกใช้แต่ละครั้งที่จบลงด้วยผลลัพธ์อื่นที่ไม่ใช่ความสำเร็จทั้งหมด รวมถึงการเรียกใช้ที่ยกเลิกและการข้าม output เก็บ run ID ไว้
run.id, URL ของเพจที่รันมาrun.urlและรหัสการยกเลิกและข้อความเข้าresult.codeและresult.message.เพิ่มก Databricks node ชุด Resource ถึง Job และ Operation ถึง Get Run Output . ชุด Run ถึง By ID และป้อน expression
{{ $json.run.id }}. node ส่งคืนหนึ่งรายการสำหรับแต่ละงานของการรันที่ล้มเหลวเพิ่มก Slack node ชุด Resource ถึง Message และ Operation ถึง Send . เลือกช่อง ใช้ข้อความในลักษณะนี้:
Databricks run {{ $('Databricks Trigger').item.json.run.name }} failed ({{ $('Databricks Trigger').item.json.result.code }}). Task {{ $json.task_key }}: {{ $json.error ?? 'no error text' }} {{ $('Databricks Trigger').item.json.run.url }}
node Databricks ทั้งสองสามารถแชร์ credentials เดียวได้ มันต้องการ CAN VIEW ในงาน ใช้ข้อมูลประจำตัวที่เป็นของบริการหลัก เพื่อให้ trigger เริ่มทำงานต่อไปเมื่อมีบุคคลออกหรือเพิกถอนความยินยอม
หากต้องการส่งข้อความเดียวสำหรับการดำเนินการทั้งหมด แทนที่จะส่งข้อความเดียวสำหรับแต่ละงาน ให้เพิ่ม Aggregate node ก่อน node Slack หรือเปิด Execute Once ในการตั้งค่าของ node Slack
เทมเพลตและตัวอย่าง
เรียกดูเทมเพลตการรวมเอกสาร node Databricks หรือ ค้นหาเทมเพลตทั้งหมด
ทรัพยากรที่เกี่ยวข้อง
อ้างถึง เอกสาร REST API ของ Databricks สำหรับรายละเอียดเกี่ยวกับ API ของพวกเขา
หากต้องการใช้ Databricks กับ AI Agent โปรดดูที่ Databricks Chat Model node และ Databricks Genie MCP server.
จะทำอย่างไรถ้าการดำเนินการของคุณไม่รองรับ
หาก node นี้ไม่สนับสนุนการดำเนินการที่คุณต้องการ คุณสามารถใช้ HTTP Request เพื่อเรียก API ของบริการ
คุณสามารถใช้ credentials ที่คุณสร้างขึ้นสำหรับบริการนี้ใน node คำขอ HTTP:
- ใน node คำขอ HTTP ให้เลือก Authentication > Predefined Credential Type.
- เลือกบริการที่คุณต้องการเชื่อมต่อ
- เลือกข้อมูลประจำตัวของคุณ
อ้างถึง Custom API actions for existing nodes สำหรับข้อมูลเพิ่มเติม

