[英]how to create broadcast variable in spark 2(java)?
In Spark 1 we can use the below code to create a Spark broadcast variable: 在Spark 1中,我们可以使用以下代码创建Spark广播变量:
SparkConf conf = new SparkConf();
conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
JavaSparkContext sc = new JavaSparkContext("local", "JavaAPISuite", conf);
ArrayList<Strin'valuesg> sampleList = new ArrayList<String>();
sampleList.add("value");
final Broadcast<ArrayList<String> broadcastVar = sc.broadcast(sampleList);
How can we do the same in Spark 2 using the API shown below? 我们如何使用下面显示的API在Spark 2中执行相同的操作?
SparkSession sc = SparkSession.setappName("SparkApp").getorcreate();
sc.sparkcontext().broadcast(T value, scala.reflect.ClassTag<T> evidence$11)
For example if you want to broadcast class named Test
it should implement java.io.Serializable
and then you do: 例如,如果要广播名为
Test
类,则应实现java.io.Serializable
,然后执行以下操作:
import scala.reflect.ClassTag;
ClassTag<Test> classTagTest = scala.reflect.ClassTag$.MODULE$.apply(Test.class);
Broadcast<Test> broadcastTest = sc.sparkcontext().broadcast(new Test(), classTagTest);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.