使用Apache Beam来丰富数据时,为每个数据项进行API调用是否错误
(我是Apache Beam的新手)
答案 0 :(得分:1)
这取决于API调用的类型和数据的大小。如果数据指定了需要进行的API调用,则这是合适的。但是,如果您使用一组有限的数据来丰富输入元素,则可以使用Beam编程模型的一部分来减少所需的外部调用次数。
例如,如果可以预加载产生API调用结果的数据,则可以通过读取所有数据并使用View.asMap
(或任何适当的视图)来使用侧输入),将API调用的时间数减少到每次执行一些相对恒定的数。然后可以使用ParDo.withSideInputs
来消耗侧输入;请参阅programming guide,特别是关于ParDo和SideInputs