【发布时间】:2016-02-09 16:00:56
【问题描述】:
我需要在我的驱动程序中创建一个广播变量,并在一个单独的文件中的一个类中使用它。
例如我在驱动中有这个:
public static final Relation[] relations = {
Test1.getRelationSigleton(),
Test2.getRelationSigleton()
};
relationsBroadcast = ctx.broadcast(relations);
在地图步骤中我需要得到这个:
private Relation[] relations = relationsBroadcast.value();
问题是它无法编译,因为没有在新文件的范围内声明关系广播。
我现在的解决方案是将地图步骤与驱动程序放在同一个文件中,但它看起来很乱,我想将其移出。
【问题讨论】:
-
由于关系是静态的,您可以在使用它的代码段中声明广播
标签: java apache-spark broadcast