我通过广播共享的变量在集群中为空.
我的应用程序非常复杂,但我编写了这个小例子,当我在本地运行它时,它运行完美,但它在集群中失败了:
package com.gonzalopezzi.bigdata.bicing
import org.apache.spark.broadcast.Broadcast
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkContext, SparkConf}
object PruebaBroadcast2 extends App {
val conf = new SparkConf().setAppName("PruebaBroadcast2")
val sc = new SparkContext(conf)
val arr : Array[Int] = (6 to 9).toArray
val broadcasted = sc.broadcast(arr)
val rdd : RDD[Int] = sc.parallelize((1 to 4).toSeq, 2) // a small integer array [1, 2, 3, 4] is paralellized in two machines
rdd.flatMap((a : Int) => List((a, broadcasted.value(0)))).reduceByKey(_+_).collect().foreach(println) // NullPointerException in the flatmap. broadcasted is null
}
Run Code Online (Sandbox Code Playgroud)
我不知道问题是编码错误还是配置问题.
这是我得到的堆栈跟踪:
15/07/07 20:55:13 …Run Code Online (Sandbox Code Playgroud) 我试图将highcharts集成为AngularDart组件.Js interop就像一个魅力,但我遇到了一个我无法克服的问题.
Highcharts允许用户提供回调以自定义某些行为.例如,一个回调来格式化图表的工具提示.这是用javascript编写的格式化程序的一个例子:
formatter: function() {
return 'The value for <b>'+ this.x +
'</b> is <b>'+ this.y +'</b>';
}
Run Code Online (Sandbox Code Playgroud)
我在Dart中有格式化程序功能.该函数被正确调用,但我不知道如何获得"this"对象来检索我需要的数据.
有谁能够帮我?
我正在尝试构建一个自定义的Polymer元素.我已经成功地构建了一段时间的Polymer元素.这是我第一次需要使用复杂的鼠标和手势事件.
在与鼠标事件挣扎之后,我发现Polymer为我们提供了触摸和手势事件,这些事件在这类工作中非常方便.
但是我不能让它在Dart中工作.
fx_slider.html:
<div id="main-div">
<div id="slider-track"></div>
<div id="slider-thumb" on-trackstart="{{trackStartHandler}}"
on-trackend="{{trackEndHandler}}" on-track="{{trackHandler}}">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
fx_slider.dart:
void trackStartHandler (Event e) {
dragging = true;
}
void trackEndHandler (Event e) {
dragging = false;
}
void trackHandler (Event e, var detail, Node target) {
/* How to retrieve the mouse position or the dx property from event ??? */
}
Run Code Online (Sandbox Code Playgroud)
我的事件处理程序(trackHandler)接收一个Event而不是TrackEvent或MouseEvent,因此我无法获得用户所做的移动或光标的位置.
您能否告诉我如何在Dart中使用跟踪事件?
提前致谢!