簡體   English   中英

在Apache Beam管道中結合Java和Python

[英]Combining Java and Python in Apache Beam pipeline

是否可以在Apache Beam中結合Java和Python轉換?

這是用例(即夢想計划):原始輸入數據具有很高的速率,因此需要使用相當快速的語言(例如Java)進行一些初始聚合。 然后,將聚合的值提供給一些轉換(在Python中實現),然后傳遞到一堆機器學習模型(在Python中實現)以產生一些預測,然后將這些預測再次用於某些Java代碼中。

在Apache Beam中可以嗎?

非常感謝您的幫助!

應該有可能。 您需要一個ExternalTransform和一個擴展服務。

在這里查看執行此操作的測試管道:

counts = (lines
          | 'split' >> (beam.ParDo(WordExtractingDoFn())
                        .with_output_types(bytes))
          | 'count' >> beam.ExternalTransform(
              'beam:transforms:xlang:count', None, EXPANSION_SERVICE_ADDR))

在這里, beam:transforms:xlang:count是擴展服務應該知道的轉換的URN。 本示例使用了一個自定義擴展服務 ,該服務將URN擴展為Java PTransform ,您可以按照相同的方式構建自己的服務。

您可以在此處查看如何開始該示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM