小编bou*_*eli的帖子

Linux上的共享库中的多个单例实例

正如标题所提到的,我的问题很明显,我详细描述了这个场景.在文件singleton.h中有一个名为singleton的类,由singleton模式实现,如下所示:

/*
 * singleton.h
 *
 *  Created on: 2011-12-24
 *      Author: bourneli
 */

#ifndef SINGLETON_H_
#define SINGLETON_H_

class singleton
{
private:
    singleton() {num = -1;}
    static singleton* pInstance;
public:
    static singleton& instance()
    {
        if (NULL == pInstance)
        {
            pInstance = new singleton();
        }
        return *pInstance;
    }
public:
    int num;
};

singleton* singleton::pInstance = NULL;

#endif /* SINGLETON_H_ */
Run Code Online (Sandbox Code Playgroud)

然后,有一个名为hello.cpp的插件如下:

#include <iostream>
#include "singleton.h"

extern "C" void hello() {
    std::cout << "singleton.num in hello.so : " << singleton::instance().num << std::endl;
    ++singleton::instance().num; …
Run Code Online (Sandbox Code Playgroud)

c++ singleton dlopen

36
推荐指数
2
解决办法
2万
查看次数

为什么Spark RDD分区对HDFS有2GB的限制?

使用mllib RandomForest训练数据时出错.由于我的数据集很大,默认分区相对较小.所以抛出异常表示"Size超过Integer.MAX_VALUE",原始堆栈跟踪如下,

15/04/16 14:13:03 WARN scheduler.TaskSetManager:阶段6.0中的丢失任务19.0(TID 120,10.215.149.47):java.lang.IllegalArgumentException:大小超过
sun.nio.ch.FileChannelImpl处的Integer.MAX_VALUE.在org.apache上的org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala:123)的org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala:132)中映射(FileChannelImpl.java:828) .spark.storage.BlockManager.doGetLocal(BlockManager.scala:517)org.apache.spark.storage.BlockManager.getLocal(BlockManager.scala:432)atg.apache.spark.storage.BlockManager.get(BlockManager.scala) :618)org.apache.spark.CacheManager.putInBlockManager(CacheManager.scala:146)at org.apache.spark.CacheManager.getOrCompute(CacheManager.scala:70)

Integer.MAX_SIZE是2GB,似乎有些分区内存不足.所以我将我的rdd分区重新分配到1000,这样每个分区可以保存比以前少得多的数据.最后,问题解决了!

所以,我的问题是:为什么分区大小有2G限制?似乎没有为spark中的限制设置配置

scala apache-spark rdd

14
推荐指数
1
解决办法
8565
查看次数

如何在gmock中设置自定义ref-variable

我在我的项目中使用gmock,我遇到了为mock函数设置自定义引用变量的问题.假设我有一个如下课程:

class XXXClient {
public:
    void QueryXXX(const Request&, Response&);
}; 

class XXXRunner {
public:
    void DoSomething(XXXClient&);
};
Run Code Online (Sandbox Code Playgroud)

使用XXXClient :: QueryXXX有一个Client Class XXXRunner :: DoSomething,我想模拟XXXClient来测试XXXRunner :: DoSomething.

问题是QueryXXX的第二个参数,即'Response',不是返回值,而是一个引用变量,我将一些数据填入XXXClient :: QueryXXX中的Response中.我想为Response设置自定义数据以验证XXXRunner :: DoSomething的不同条件.

gmock框架可以设置预期的返回值,但我找不到设置"返回变量"的方法?

那怎么办?

gmock

11
推荐指数
1
解决办法
1万
查看次数

joda DateTime格式导致spark RDD函数中的空指针错误

异常消息如下

用户类引发异常:作业因阶段失败而中止:阶段1.0中的任务0失败4次,最近失败:阶段1.0中失去的任务0.3(TID 11,10.215.155.82):org.joda中的java.lang.NullPointerException. org.joda.time.ff上的org.joda.time.ff.CachedDateTimeZone.getOffset(CachedDateTimeZone.java:103)中的time.tz.CachedDateTimeZone.getInfo(CachedDateTimeZone.java:133)org.joda.time.format.DateTimeFormatter.printTo(DateTimeFormatter.java: 676)org.joda.time.format.DateTimeFormatter.printTo(DateTimeFormatter.java:521)atg.joda.time.format.DateTimeFormatter.print(DateTimeFormatter.java:625)org.joda.time.base.AbstractDateTime .toString(AbstractDateTime.java:328)at com.xxx.ieg.face.demo.DateTimeNullReferenceReappear $$ anonfun $ 3 $$ anonfun $ apply $ 1.apply(DateTimeNullReferenceReappear.scala:41)at com.xxx.ieg.face.demo .DateTimeNullReferenceReappear $$ anonfun $ 3 $$ anonfun $ apply $ 1.apply(DateTimeNullReferenceReappear.scala:41)at scala.collection.TraversableLike $$ anonfun $ groupBy $ 1.apply(TraversableLike.sc ala:328)在scala.collection.TraversableLike $$ anonfun $ groupBy $ 1.apply(TraversableLike.scala:327)at scala.collection.Iterator $ class.foreach(Iterator.scala:727)at org.apache.spark.util .collection.CompactBuffer $$ anon $ 1.foreach(CompactBuffer.scala:113)at scala.collection.IterableLike $ class.foreach(IterableLike.scala:72)at org.apache.spark.util.collection.CompactBuffer.foreach(CompactBuffer) .scala:28)at scala.collection.TraversableLike $ class.groupBy(TraversableLike.scala:327)atg.apache.spark.util.collection.CompactBuffer.groupBy(CompactBuffer.scala:28)at com.xxx.ieg. face.demo.DateTimeNullReferenceReappear $$ anonfun $ 3.apply(DateTimeNullReferenceReappear.scala:41)at com.xxx.ieg.face.demo.DateTimeNullReferenceReappear $$ anonfun $ 3.apply(DateTimeNullReferenceReappear.scala:40)at scala.collection.Iterator $ $ anon $ 11.next(Iterator.scala:328)at scala.collection.Iterator $$ anon …

scala apache-spark

9
推荐指数
1
解决办法
3751
查看次数

是否可以在大图中用并行框架实现全对最短路径算法?

使用spark graphx pregel api,可以轻松计算大图中的单源最短路径,例如数百万个顶点和数千个边缘,并且具有可接受的运行时间,例如几个小时.但是可以在可接受的运行时间内在大图中运行所有对最短路径吗?

graph apache-spark

7
推荐指数
1
解决办法
469
查看次数

Spark:在使用无用的RDD之后的graphx api OOM错误

我遇到了Out of Memeory错误,原因不明,我已经立即释放了无用的RDD,但经过几轮循环后,OOM错误仍然出现.我的代码如下:

// single source shortest path
def sssp[VD](graph:Graph[VD,Double], source: VertexId): Graph[Double, Double] = {
    graph.mapVertices((id, _) => if (id == source) 0.0 else Double.PositiveInfinity)
        .pregel(Double.PositiveInfinity)(
            (id, dist, newDist) => scala.math.min(dist, newDist),
            triplet => {
                if (triplet.srcAttr + triplet.attr < triplet.dstAttr) {
                    Iterator((triplet.dstId, triplet.srcAttr + triplet.attr))
                }
                else {
                    Iterator.empty
                }
            },
            (a, b) => math.min(a, b)
        )
}

def selectCandidate(candidates: RDD[(VertexId, (Double, Double))]): VertexId = {
    Random.setSeed(System.nanoTime())
    val selectLow = Random.nextBoolean()
    val (vid, (_, _)) = if (selectLow) …
Run Code Online (Sandbox Code Playgroud)

out-of-memory apache-spark spark-graphx

7
推荐指数
1
解决办法
579
查看次数

在scala中将数组转换为2d数组的最简单方法

我有一个10×10 Array[Int]

val matrix = for {
    r <- 0 until 10
    c <- 0 until 10
} yield r + c  
Run Code Online (Sandbox Code Playgroud)

并希望将"矩阵"转换为Array[Array[Int]]10行10列.

最简单的方法是什么?

arrays scala

5
推荐指数
2
解决办法
2143
查看次数

如何在R中设置C5.0包的成本矩阵?

我在网上搜索了很多内容,但没有找到有关R中C5.0功能的'成本'参数的任何有用描述.从C5.0 R手册中,它只是说"与成本相关的矩阵"可能的错误.矩阵应该有C列和行,其中C是类级别的数量".它没有告诉我是否是模型的预测结果.

有人可以帮忙吗?

r decision-tree

4
推荐指数
1
解决办法
4577
查看次数

如何在Spark Pipeline中使用RandomForest

我想通过网格搜索和使用spark交叉验证来调整我的模型.在火花中,它必须将基础模型放在管道中,管道的办公室演示使用LogistictRegression作为基础模型,它可以是新的对象.但是,客户端代码RandomForest不能使用模型,因此似乎无法RandomForest在管道api中使用.我不想重新创建一个轮子,所以有人可以给出一些建议吗?谢谢

pipeline random-forest apache-spark apache-spark-ml apache-spark-mllib

4
推荐指数
1
解决办法
3858
查看次数