小编Sky*_*ker的帖子

C++"new T [size]"不起作用?

我有一个模板类定义为:

#include <stdio.h>
#include <queue>

using namespace std;

template<class T>
class tbufferpool {
private:
    const int m_initial;
    const int m_size;
    const int m_total;
    T *m_buffer;
    vector<T*> m_queue;

public:
    // constructor
    tbufferpool(int initial, int size) : m_initial(initial), m_size(size), m_total(initial*size) {
        m_buffer = new T[m_total];
        T* next_buffer = m_buffer;
        for (int i = 0; i < initial; ++i, next_buffer += size) {
            m_queue.push_back(next_buffer);
        }
    }
Run Code Online (Sandbox Code Playgroud)

在构造函数中的某些时候我做了:

m_buffer = new T[size];
Run Code Online (Sandbox Code Playgroud)

这适用于大多数用例,但在一次测试中,我得到valgrind报告的以下内存错误(下面的命令和相关代码段)测试仍然正常.有趣的一点是operator new(unsigned long)意味着它不是为我所预期的具体T型I设置"双"分配和对齐但是对于unsigned long?如果我修改我的缓冲池实现和硬编码,new double[size]那么这个内存错误没有显示,但我当然只能使用它tbufferpool<double> …

c++

5
推荐指数
1
解决办法
2037
查看次数

如何通过总和(获取百分比)对数据框值进行归一化

我有以下数据框:

> str(df)
 'data.frame':  52 obs. of  3 variables:
  $ n    : int  10 20 64 108 128 144 256 320 404 512 ...
  $ step : Factor w/ 4 levels "Step1","Step2",..: 1 1 1 1 1 1 1 1 1 1 ...
  $ value: num  0.00178 0.000956 0.001613 0.001998 0.002975 ...
Run Code Online (Sandbox Code Playgroud)

现在我想归一化/除以df$value属于同一个 n 的值的总和,这样我就可以得到百分比。这不起作用,但显示了我想要实现的目标。在这里,我将属于相同 n 的值的总和预先计算到 dfa 中,并尝试将原始值除以匹配df$value的聚合总数:dfa$valuen

dfa <- aggregate(x=df$value, by=list(df$n), FUN=sum)
names(dfa)[names(dfa)=="Group.1"] <- "n"           
names(dfa)[names(dfa)=="x"] <- "value"
df$value <- df$value / …
Run Code Online (Sandbox Code Playgroud)

aggregate r dataframe data.table

5
推荐指数
1
解决办法
5867
查看次数

如何避免在Hibernate中获取javassist延迟实体代理实例

我有什么需要改变以避免Hibernate给我懒惰的javassist实例代理而不是真正的实体?

更新:我使用的是Spring 3.x和Hibernate 4.x.

我用来加载实体的API是org.hibernate.internal.SessionImpl#load(Person.class, Id)简单的映射:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="org.perfectjpattern.example.model">
<class name="Person" table="PERSON_" >
    <id name="id">
        <generator class="native"></generator>
    </id>
    <property name="name" update="false" />
    <property name="age" update="true" />
</class>

<query name="Person.findByName">
    <![CDATA[select p from Person p where p.name = ? ]]>
</query>

<query name="Person.findByAge">
    <![CDATA[select p from Person p where p.age = :Age ]]>
</query>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

java xml spring hibernate

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

将 Comparable 与 Comparator 相互转换?

我经常有一种Comparator类型,而我需要一种Comparable,反之亦然。是否有可重用的 JDK API 可以相互转换?大致如下:

    public static <C> Comparable<C> toComparable(final Comparator<C> comparator) {
        // does not compile because Hidden can not extend C, 
        // but just to illustrate the idea
        final class Hidden extends C implements Comparable<C> {
            @Override
            public int compareTo(C another) {
                return comparator.compare((C) this, another);
            }
        };
        return new Hidden();
    }

    public static <C extends Comparable<C>> Comparator<C> toComparator(final Class<C> comparableClass) {
        return new Comparator<C>() {
            @Override
            public int compare(C first, C second) {
                assert …
Run Code Online (Sandbox Code Playgroud)

java

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

使用Akka实现MapReduce

我正试图在Akka之上实现MapReduce,很幸运能找到Akka Essentials一书的代码.但是,我发现这个示例实现有两个主要问题,两者看起来都像基本的并发设计缺陷,在一本关于Akka的书中找到它是非常令人震惊的:

  1. 完成后,客户端将调用,shutdown()但此时无法保证消息通过WCMapReduceServer.我看到WCMapReduceServer在任何时候只获取部分数量的客户端消息,然后WCMapReduceServer输出[INFO] [06/25/2013 09:30:01.594] [WCMapReduceApp-5] [ActorSystem(WCMapReduceApp)] REMOTE: RemoteClientShutdown@akka://ClientApplication@192.168.224.65:2552意味着客户端shutdown()在客户端实际设法刷新所有未决消息之前发生.在客户端代码行41中,我们看到shutdown()发生时没有先刷新.在关闭系统之前,Akka是否有办法强制执行刷新出站消息?

  2. 另一个我已经修复过的更大的缺陷是用于向MapReduce服务器发出EOF信号的方式,主要任务(文字文件)完成后,给定所有子任务(文件的每一行)都完成.他发送一个特殊的字符串消息,DISPLAY_LIST并且此消息排队的优先级最低,请参阅代码.这里的一个重大缺陷是即使DISPLAY_LIST具有最低优先级,如果任何Map(或Reduce)任务任意长,则DISPLAY_LIST在所有MapReduce子任务完成之前消息将通过,因此该MapReduce示例的结果是非确定性的,即每次运行都可以得到不同的词典.可以通过替换MapActor#onReceive实现来揭示该问题 使用以下内容即使一个Map步骤任意长:

    public void onReceive(Object message) {
        System.out.println("MapActor -> onReceive(" + message + ")");
        if (message instanceof String) {
            String work = (String) message;
            // ******** BEGIN SLOW DOWN ONE MAP REQUEST
            if ("Thieves! thieves!".equals(work)) {
                try {
                    System.out.println("*** sleeping!");
                    Thread.sleep(5000);
                    System.out.println("*** back!");
                }
                catch (InterruptedException e) {
                    e.printStackTrace(); …
    Run Code Online (Sandbox Code Playgroud)

java mapreduce akka

5
推荐指数
1
解决办法
2680
查看次数

使用Java和Maven的Akka Microkernel有什么意义?

我开发了一个基于Akka的服务器,并喜欢Microkernel的想法.但是,当我使用Java和Maven查看实现细节时,我在一个简单的Java主要启动类中交换一个框架特定的解决方案,承诺我不需要编写启动脚本,最后我发现它需要:

  • Akka已经安装(如果没有安装只使用库的Akka,我可以工作)
  • 我需要两个额外的Maven相关更改和一个额外的装配工件
  • 我还需要一个"开始"脚本,那有什么意义呢?

也许我错过了什么?但与普通的旧Java主解决方案相比,我没有看到任何更简单的设置或优势.

更新:在得到答案后再思考一下.根据Microkernel编写主类可能仍然是一个很好的例子,以便将来可以通过Akka控制台启动,例如

public class MapReduceServer implements Bootable {
    //---------------------------------------------------------------
    // public
    //---------------------------------------------------------------
    /**
     * Default constructor simply initializes the system.
     */
    public MapReduceServer() {
        system = ActorSystem.create("MapReduceApp", ConfigFactory.
                load().getConfig("MapReduceApp"));
    }

    //---------------------------------------------------------------
    /**
     * {@inheritDoc}
     */
    @Override
    public void startup() {
        // create the list of reduce Actors
        ActorRef reduceActor = system.actorOf(Props.create(ReduceActor.class)
                .withRouter(new FromConfig()), "reduceActor");

        // create the list of map Actors
        ActorRef mapActor = system.actorOf(Props.create(MapActor.class, reduceActor).
                withRouter(new FromConfig()), "mapActor");

        // …
Run Code Online (Sandbox Code Playgroud)

java akka

5
推荐指数
1
解决办法
912
查看次数

Git svn clone:是否可以在错误格式错误的 XML:找不到元素后恢复?

我正在尝试使用git svn以下命令对大型 subversion 存储库进行从 subversion 到 Git 的单向迁移(重要的是迁移后仅使用 Git):

git svn clone --no-minimize-url --trunk=/trunk/GBI --branches=/branches/GBI --tags=/tags/GBI --authors-file=authors.txt https://yyy/svn-repos/zzz/ GBI
Run Code Online (Sandbox Code Playgroud)

运行几个小时后,克隆进程崩溃并出现以下错误:

r79791 = 00349b8063f90447ea8a040751cd2a40e74b74f3 (refs/remotes/origin/trunk)
Error from SVN, (175009): Malformed network data: The XML response contains invalid XML: Malformed XML: no element found
Run Code Online (Sandbox Code Playgroud)

然后我想也许有一种聪明的方法可以在违规修订后立即恢复流程......这可能吗?

任何想法首先导致此错误的原因是什么?

这个问题的答案建议首先使用--log-window-size来防止这个问题发生......我可以添加该选项并从失败的修订版中重试吗?这个问题是git svn内存使用问题还是仅与损坏的颠覆修订版有关的问题?

是否有一个git svn 选项来强化过程以忽略错误,而不仅仅是由于此错误而停止冗长的过程?

更新:我按照Atlassian Stash Migrating to Git 指南到达了这一点,该指南指示使用git svn及其svn-migration-scripts.jar实施

svn git git-svn

5
推荐指数
1
解决办法
2585
查看次数

如何展平非原子函数结果,以便可以将其分配为 dplyr 变异步骤的一部分?

在查看如何将函数调用的结果展平为 dplyr::mutate 的一部分之前,我已经遇到过这个用例。这次不同,因为我需要调用的函数不依赖于一组 x 值。在这里,我使用 BCa(偏差校正加速间隔)计算自举置信区间,但需要为每个类层调用它两次,因为需要读出较低和较高的置信区间输出($bca[4]$bca[5])。

if(!require(tidyverse)) install.packages("tidyverse", repos = "http://cran.us.r-project.org")
if(!require(boot)) install.packages("boot", repos = "http://cran.us.r-project.org")
if(!require(purrr)) install.packages("purrr", repos = "http://cran.us.r-project.org")

comp <- data.frame(
  class = sample(c("bronze","silver","gold"),1500,replace=TRUE),
  reputation = rnbinom(1500,mu=100,size=1)+1
)

# function to obtain the mean
bootMean <- function(sample, index) {
  return(mean(sample[index]))
} 

# bootstrapping using 3000 replications
B <- 3000
summaryRep <- comp %>%
  group_by(class) %>%
  summarise(mean=mean(reputation),
            ymin=boot.ci(boot(data=reputation, statistic=bootMean, R=B), type=c("bca"))$bca[4],
            ymax=boot.ci(boot(data=reputation, statistic=bootMean, R=B), type=c("bca"))$bca[5])
summaryRep
Run Code Online (Sandbox Code Playgroud)

我已经尝试了上面帖子中提出的解决方案,但它们不起作用。首先是因为没有可能的映射,其次它仍然会抱怨boot.ci结果的维度。

如何boot在保持 …

r dplyr tidyverse

5
推荐指数
1
解决办法
74
查看次数

具有多个节点的hadoop MapReduce异常

我包含一个导致问题的自包含命令序列.我有一个正在进行中的群集配置.值得注意的是,当我没有在yarn-site.xml和中配置所有资源和历史管理器时,这个相同的示例工作正常mapred-site.xml.

问题Cannot create directory /user/deploy/QuasiMonteCarlo_1391523248477_997612342/in似乎是错误的文件路径前缀,因为相关的用户目录是:

  • /home/deploy/
  • /home/deploy/hdfs
  • /home/deploy/hdfs/name
  • /home/deploy/hdfs/data

那它怎么试图访问/user/deploy

deploy@olympus:~$ start-all.sh 
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [olympus]
olympus: starting namenode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-namenode-olympus.out
hera: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-hera.out
olympus: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-olympus.out
zeus: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-zeus.out
poseidon: starting datanode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-datanode-poseidon.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /opt/dev/hadoop/2.2.0/logs/hadoop-deploy-secondarynamenode-olympus.out
starting yarn daemons
starting resourcemanager, logging to …
Run Code Online (Sandbox Code Playgroud)

hadoop

4
推荐指数
2
解决办法
4166
查看次数

错误org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode:doCheckpoint中的异常

我在群集设置中使用Hadoop 2.2.0并且我反复得到以下错误,异常是在文件名称节点olympus中生成的/opt/dev/hadoop/2.2.0/logs/hadoop-deploy-secondarynamenode-olympus.log例如

2014-02-12 16:19:59,013 INFO org.mortbay.log: Started SelectChannelConnector@olympus:50090
2014-02-12 16:19:59,013 INFO org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Web server init done
2014-02-12 16:19:59,013 INFO org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Secondary Web-server up at: olympus:50090
2014-02-12 16:19:59,013 INFO org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Checkpoint Period   :3600 secs (60 min)
2014-02-12 16:19:59,013 INFO org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Log Size Trigger    :1000000 txns
2014-02-12 16:20:59,161 ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
java.io.IOException: Inconsistent checkpoint fields.
LV = -47 namespaceID = 291272852 cTime = 0 ; clusterId = CID-e3e4ac32-7384-4a1f-9dce-882a6e2f4bd4 ; blockpoolId = BP-166254569-192.168.92.21-1392217748925.
Expecting respectively: -47; 431978717; 0; CID-85b65e19-4030-445b-af8e-5933e75a6e5a; …
Run Code Online (Sandbox Code Playgroud)

hadoop

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

标签 统计

java ×4

akka ×2

hadoop ×2

r ×2

aggregate ×1

c++ ×1

data.table ×1

dataframe ×1

dplyr ×1

git ×1

git-svn ×1

hibernate ×1

mapreduce ×1

spring ×1

svn ×1

tidyverse ×1

xml ×1