Я пытался добавить значения существующего списка в кортеж.Это не показывает ошибку компилятора, но выдает ошибку времени выполнения.
Я жестко закодировал некоторые значения списка и попытался добавить значения в кортеж, используя java spark.
@SuppressWarnings("unchecked")
public static void main(String[] args) {
List<Integer> arr=new ArrayList<Integer>();
arr.add(1);
arr.add(4);
arr.add(16);
arr.add(16);
arr.add(25);
arr.add(36);
arr.add(49);
arr.add(64);
arr.add(100);
Logger.getLogger("org.apache").setLevel(Level.WARN);
System.setProperty("hadoop.home.dir", "C:\\packages_for_spark\\hadoop-2.6.0");
SparkConf sparkConf = new SparkConf().setAppName("First_spark");
sparkConf.set("spark.master", "local")
.set("spark.driver.allowMultipleContexts", "true");
SparkContext sc = new SparkContext(sparkConf);
JavaSparkContext stc = new JavaSparkContext(sparkConf);
JavaRDD<Integer> num = stc.parallelize(arr);
JavaRDD<Tuple7<Integer, Integer, Integer, Integer, Integer, Integer, Integer>> mapped=
num.map((rd) -> {
List<Integer> rd1= num.collect();
return new Tuple7<>(rd1.get(0),rd1.get(1),rd1.get(2),rd1.get(3),rd1.get(4),rd1.get(5),rd1.get(6));
});
mapped.collect().forEach(System.out::println);
}}
Это не выдает никакой ошибки компилятора,но во время выполнения выдает следующую ошибку:
WARN SparkContext: Multiple running SparkContexts detected in the same JVM!
org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true. The currently running SparkContext was created at:
org.apache.spark.SparkContext.<init>(SparkContext.scala:76)