Data Fusion: ส่งผ่านอาร์กิวเมนต์รันไทม์จากไปป์ไลน์หนึ่งไปยังอีกท่อหนึ่ง

Aug 20 2020

ฉันมีอาร์กิวเมนต์รันไทม์ที่ตั้งไว้ที่เนมสเปซซึ่งเป็น business_date: $ {logicalStartTime (yyyy-MM-dd)} ฉันใช้อาร์กิวเมนต์นี้ในไปป์ไลน์ของฉันและต้องการใช้สิ่งเดียวกันนี้ในไปป์ไลน์อื่น มีไปป์ไลน์จำนวนมากย้อนกลับไปและฉันต้องการให้ค่าเท่ากันตลอดทั้งท่อเมื่อคำนวณในไปป์ไลน์แรก สมมติว่าค่าคำนวณเป็น '2020-08-20 20:14:11' และเมื่อไปป์ไลน์หนึ่งสำเร็จฉันกำลังส่งอาร์กิวเมนต์นี้ไปยังไปป์ไลน์ 2 แต่เนื่องจากอาร์กิวเมนต์นี้ถูกกำหนดที่ระดับเนมสเปซจึงถูกแทนที่เมื่อ pipeline2 เริ่มต้น

ฉันจะป้องกันไม่ให้คำนวณค่านี้อีกได้อย่างไร

คำตอบ

1 Juls Aug 21 2020 at 18:53

คุณสามารถตั้งค่าไปป์ไลน์หนึ่งเพื่อทริกเกอร์ไปป์ไลน์อื่นได้ คุณสามารถตั้งค่าตัวแปรรันไทม์ในไปป์ไลน์แรกและตัวแปรนี้จะถูกตั้งค่าในไปป์ไลน์ที่ถูกทริกเกอร์ คุณสามารถสร้างทริกเกอร์ขาเข้าได้โดยทำตามขั้นตอนต่อไป:

  1. เมื่อคุณสร้างไปป์ไลน์ของคุณแล้วให้เลือกไปป์ไลน์สุดท้ายที่คุณต้องการเรียกใช้ ในกรณีของฉันฉันมีไปป์ไลน์DataFusionQuickstart2

  1. ในแอปพลิเคชันไปป์ไลน์ทางด้านซ้ายให้คลิกที่ "ทริกเกอร์ขาเข้า" -> "ตั้งค่าทริกเกอร์ไปป์ไลน์" และคุณจะเห็นไปป์ไลน์ที่คุณสามารถเรียก ตรวจสอบกรณีที่จะเรียกDataFusionQuickstart2ท่อจากDataFusionQuickstartและเปิดใช้งาน

  1. ถ้าคุณดูให้ท่อก่อนหน้าDataFusionQuickstarคุณจะเห็นลงไปในตัวเลือกขาออกทริกเกอร์ (ด้านขวา) ท่อที่จะถูกเรียกโดยDataFusionQuickstar

  1. สุดท้ายตั้งค่าอาร์กิวเมนต์รันไทม์ของคุณ

ข้อมูลเพิ่มเติม

ในโพสต์นี้มีการกล่าวถึงว่ามีสามวิธีที่คุณสามารถตั้งค่าอาร์กิวเมนต์รันไทม์ของไปป์ไลน์:

  1. ปลั๊กอิน Argument Setter (คุณสามารถเขียนค่านั้นในไฟล์ลงในไปป์ไลน์แรกได้ในไปป์ไลน์ที่ตามมาทั้งหมดให้สร้างพารามิเตอร์เพื่ออ่านไฟล์นั้น)
  2. การส่งผ่านอาร์กิวเมนต์รันไทม์เมื่อเริ่มต้นไปป์ไลน์ (สิ่งที่อธิบายไว้ข้างต้น)
  3. การตั้งค่าการตั้งค่า (ให้ความสามารถในการบันทึกข้อมูลการกำหนดค่าในระดับต่างๆของระบบรวมถึงอินสแตนซ์ CDAP เนมสเปซแอปพลิเคชันและระดับโปรแกรม)
adiideas Sep 02 2020 at 11:17

คุณสามารถเขียนค่านั้นลงในไฟล์ในขั้นตอนแรก ในไปป์ไลน์ที่ตามมาทั้งหมดให้สร้างพารามิเตอร์เพื่ออ่านไฟล์นั้น ด้วยวิธีนี้ควรบรรลุวัตถุประสงค์

adiideas Oct 29 2020 at 07:16

@ Sudhir คุณอาจสำรวจความพึงพอใจ https://cdap.atlassian.net/wiki/spaces/DOCS/pages/477561058/Preferences+HTTP+RESTful+API

คุณได้ตั้งค่าตัวแปรที่ระดับเนมสเปซและตามที่คุณพบจะได้รับการประเมินทุกครั้งที่มีการใช้งาน

ลองตั้งค่าที่ระดับแอปพลิเคชันได้ไหม และส่งต่อไปยังท่อถัดไป ฉันเชื่อว่าในกรณีนั้นควรได้รับการประเมินเพียงครั้งเดียวในแอปพลิเคชันเฉพาะนั้น (ไปป์ไลน์) และหลังจากนั้นค่าจะถูกส่งผ่าน

นอกจากนี้ยังมีการตั้งค่าในระดับโปรแกรม