我的集群:1个主服务器,11个从服务器,每个节点有6 GB内存.
我的设置:
spark.executor.memory=4g, Dspark.akka.frameSize=512
Run Code Online (Sandbox Code Playgroud)
这是问题所在:
首先,我从HDFS到RDD读取了一些数据(2.19 GB):
val imageBundleRDD = sc.newAPIHadoopFile(...)
Run Code Online (Sandbox Code Playgroud)
其次,在这个RDD上做点什么:
val res = imageBundleRDD.map(data => {
val desPoints = threeDReconstruction(data._2, bg)
(data._1, desPoints)
})
Run Code Online (Sandbox Code Playgroud)
最后,输出到HDFS:
res.saveAsNewAPIHadoopFile(...)
Run Code Online (Sandbox Code Playgroud)
当我运行我的程序时,它显示:
.....
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Starting task 1.0:24 as TID 33 on executor 9: Salve7.Hadoop (NODE_LOCAL)
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Serialized task 1.0:24 as 30618515 bytes in 210 ms
14/01/15 21:42:27 INFO cluster.ClusterTaskSetManager: Starting task 1.0:36 as TID 34 on executor 2: Salve11.Hadoop (NODE_LOCAL)
14/01/15 21:42:28 INFO …Run Code Online (Sandbox Code Playgroud) 我ImageInputFormat在Hadoop中有一个类从HDFS读取图像.如何在Spark中使用我的InputFormat?
这是我的ImageInputFormat:
public class ImageInputFormat extends FileInputFormat<Text, ImageWritable> {
@Override
public ImageRecordReader createRecordReader(InputSplit split,
TaskAttemptContext context) throws IOException, InterruptedException {
return new ImageRecordReader();
}
@Override
protected boolean isSplitable(JobContext context, Path filename) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud) 我想用jni在spark中调用我的c ++ lib.当我运行我的程序时,它显示java.lang.UnsatisfiedLinkError:java.library.path中没有hq_Image_Process,所以显然程序找不到我的hq_Image_Process.so.
在hadoop中,-files可以将xxx.so文件分发给slave,如下所示:
[hadoop@Master ~]$ hadoop jar JniTest3.jar -files /home/hadoop/Documents/java/jni1/bin/libFakeSegmentForJni.so FakeSegmentForJni.TestFakeSegmentForJni input output
Run Code Online (Sandbox Code Playgroud)
有没有办法像火花中的hadoop一样调用我的hq_Image_Process.so?我将不胜感激任何帮助.
我在 YARN 上运行我的 Flink 作业,我发现少数子任务的对齐持续时间很长。
什么可能导致这个问题?
当我使用 flink 事件时间窗口时,该窗口不会触发。请问如何解决问题,有什么方法可以调试吗?