ลำแสง apache พร้อม python pardo พร้อมอินพุตหลาย pCollections

Sep 21 2020

ฉันใหม่ใน apache_beam และฉันกำลังพยายามพัฒนาไปป์ไลน์ ฉันมี 2 pCollections ที่มีรูปแบบเดียวกันและฉันมี pCollection อื่นที่มีรูปแบบอื่น ฉันพยายามทำฟังก์ชัน ParDo สำหรับแต่ละรายการใน pCollection 3 ขึ้นอยู่กับค่า o รายการนี้ค้นหาว่ามีรายการอยู่ใน pCollection 1 หรือ 2 เพื่อให้เอาต์พุตสมบูรณ์พร้อมข้อมูลของ pCollection 1 หรือ 2 แต่ฉันไม่รู้ว่ามันทำอย่างไรกับฟังก์ชัน ParDo นี้ .

นี่คือรหัสของฉัน:

output = (
      pCollection1, pCollection2, pCollection3
      | 'ParDo function' >> beam.ParDo(SearchData()))

และนี่คือ ParDo fucntion ของฉัน:

class SampleScores(beam.DoFn):
    def process(self,element):
      
      # here I don't know how call a collection because I have only a "element"

      return xxx

ขอบคุณ

คำตอบ

Jorge Sep 23 2020 at 13:35

แก้ไขแล้ว.

คุณได้ดูอินพุตด้านข้างแล้วหรือยัง? beam.apache.org/documentation/programming-guide/#side- inputs ถ้าฉันเข้าใจคำถามของคุณถูกต้องสิ่งที่คุณต้องการคือมีกระบวนการ (self, element, pcoll1, pcoll2) อินพุตด้านข้างอาจช่วยคุณได้ - มิลานเซอร์มัคเมื่อวานนี้

ขอบคุณ @MilanCermak