小编ele*_*ias的帖子

const正确性和shared_ptr,设计问题?

我最近开始尝试在我的代码中强制执行const正确性.在函数定义中,我提供一个指向类的常量对象的常量指针LorentzM:

void AnalysisObject::SetOwnedPointer(const int maptotree_In, const LorentzM* const momentum_In){ 
owned_pp4_original.reset(momentum_In); 
maptotree=maptotree_In;
}
Run Code Online (Sandbox Code Playgroud)

这里owned_pp4_original

shared_ptr<LorentzM> owned_pp4_original;
Run Code Online (Sandbox Code Playgroud)

我这样做,因为这个函数,SetOwnedPointer,永远LorentzM* momentum_In不应该更改它也不应该更改它指向的对象,因此它是常量指针.

然而,一个shared_ptr创建到momentum_In指向的对象,我想用这个shared_ptr的改变对象以后:

void ChangeLorentzM(const double px, const double py, const double pz, const double E){
owned_pp4_original->SetPxPyPzE(px,py,pz,E); //THIS CHANGES THE OBJECT
}
Run Code Online (Sandbox Code Playgroud)

所以,一方面,能够做到:

owned_pp4_original.reset(momentum_In); 
Run Code Online (Sandbox Code Playgroud)

owned_pp4_original 应该是一个 shared_ptr<const LorentzM>

但是,我无法通过它改变对象.

这张照片有什么问题?

非常感谢.

c++ boost const-correctness shared-ptr

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

Spark-Shell 依赖项,翻译自 sbt

在检查如何使用 cassandra 连接时,文档指示将其添加到 sbt 文件中:

"libraryDependencies += "com.datastax.spark" %% "spark-cassandra-connector" % "1.6.0-M1"
Run Code Online (Sandbox Code Playgroud)

一般来说,是否有一个明显、直接的逻辑可以将其转换为相应的:

spark-shell --packages "field1":"field2"
Run Code Online (Sandbox Code Playgroud)

我试过了:

spark-shell --packages "com.datastax.spark":"spark-cassandra-connector"
Run Code Online (Sandbox Code Playgroud)

和其他一些事情,但这不起作用。

scala cassandra sbt apache-spark

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

dc.js 模拟点击图表并触发过滤器

我想做的事:

我有一个条形图,其中 x 轴代表时间。可以通过用鼠标选择一段时间来选择一段时间,所有图表都会根据选择正确调整。

但是,有时很难从确切日期到确切日期,我想添加一个可以选择这些日期的日历。

理想情况下,在日历上选择日期应该与在条形图上使用鼠标选择时间段具有相同的效果。

尝试过但不喜欢:

我尝试创建第二个时间维度并使日历选择它。但是,这会使 barChart 的最小值和最大值根据该选择进行调整。 barChart 不涵盖时间维度的完整维度,而仅涵盖日历上的选定时间段。这是我想避免的。

如何准确模拟图表本身的选择?

非常感谢。

编辑:

我试图理解对评论提出的建议。让我向您展示一些代码。

我有一个条形图:

var moveChart    = dc.barChart("#move-chart","chart2"); 
Run Code Online (Sandbox Code Playgroud)

这是一个用来执行时间过滤器的工具。

moveChart
.width(700)
...
.dimension(timeDim)
.group(foo) 
Run Code Online (Sandbox Code Playgroud)

现在,假设我在控制台上做:

timeDim.filterRange([minTime,maxTime]);
dc.renderAll("chart2");
Run Code Online (Sandbox Code Playgroud)

这使得其他图表反映选择,但不反映 moveChart。

我也试图实施戈登的评论,但我不明白。在控制台中,我可以看到 moveChart.filters。没有实现任何过滤器,如 RangedFilter 或 TwoDimensionalFilter,所以我不确定如何在画笔上执行过滤器功能。

谢谢。

javascript d3.js crossfilter dc.js

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

值toDF不是org.apache.spark.rdd.RDD的成员

我在其他SO帖子中读过这个问题,但我仍然不知道我做错了什么.原则上,添加以下两行:

val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩,但错误仍然存​​在

这是我的build.sbt:

name := "PickACustomer"

version := "1.0"

scalaVersion := "2.11.7"


libraryDependencies ++= Seq("com.databricks" %% "spark-avro" % "2.0.1",
"org.apache.spark" %% "spark-sql" % "1.6.0",
"org.apache.spark" %% "spark-core" % "1.6.0")
Run Code Online (Sandbox Code Playgroud)

我的scala代码是:

import scala.collection.mutable.Map
import scala.collection.immutable.Vector

import org.apache.spark.rdd.RDD
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.spark.sql._


    object Foo{

    def reshuffle_rdd(rawText: RDD[String]): RDD[Map[String, (Vector[(Double, Double, String)], Map[String, Double])]]  = {...}

    def do_prediction(shuffled:RDD[Map[String, (Vector[(Double, Double, String)], Map[String, Double])]], prediction:(Vector[(Double, Double, String)] => Map[String, Double]) ) : RDD[Map[String, …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

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

在toree中安装spark包

我通常用以下方法启动我的火花壳:

./bin/spark-shell --packages com.databricks:spark-csv_2.10:1.2.0,graphframes:graphframes:0.1.0-spark1.6,com.databricks:spark-avro_2.10:2.0.1
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试使用Apache Toree,我应该如何在笔记本上加载这些库?

我尝试了以下方法:

jupyter toree install --user --spark_home=/home/eron/spark-1.6.1/ --spark_opts="--packages com.databricks:spark-csv_2.10:1.2.0,graphframes:graphframes:0.1.0-spark1.6,com.databricks:spark-avro_2.10:2.0.1"
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用

apache-spark jupyter-notebook apache-toree

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

令人费解的范围行为

我似乎无法理解这里发生了什么:

class testclass: 

    def __init__(self): 
        print "new instance" 
    myList=[] 

if __name__ == "__main__":  

    inst1=testclass() 
    inst1.myList.append("wrong") 

    inst2=testclass() 
    inst2.myList.append("behaviour") 

    print "I get the",inst2.myList
Run Code Online (Sandbox Code Playgroud)

输出是:

new instance
new instance
I get the ['wrong', 'behaviour']
Run Code Online (Sandbox Code Playgroud)

我本来期望的是,在列表INST1一无所知列表INST2,但不知何故,它看起来像的范围myList中 trascends类的实例.我发现这非常令人不安和令人费解,或者我在这里遗漏了什么?

谢谢!

python scope class-members

3
推荐指数
1
解决办法
91
查看次数

&(*a)在c ++中的操作,反直觉?

在这段代码中:

  int* a;
  int* b;
  int c;
  int* d;
  a=new int(5);
  b=&(*a);
  c=*a;
  d=&c;
  cout<<"*a = "<<*a<<endl;
  cout<<"a = "<<a<<endl;
  cout<<"b ="<<b<<endl;
  cout<<"d = "<<d<<endl;
Run Code Online (Sandbox Code Playgroud)

我明白了:

*a = 5
 a = 0x83a2008
 b =0x83a2008
 d = 0xbfbfe540
Run Code Online (Sandbox Code Playgroud)

为什么d与b不同?他们俩都不是&(*a)?如何用一行得到d结果?

非常感谢.

c++

3
推荐指数
2
解决办法
176
查看次数

python bisect是O(n ^ 2)?

我正在运行一个简单的测试来监视将bisect库排序到列表中需要多长时间

import numpy as np
import bisect

def get_time(N):
    myl = []
    a = time.time()
    for i in np.arange(N):
        bisect.insort_left(myl, random.randint(0,1000000) )
    b = time.time()
    return (b-a)
Run Code Online (Sandbox Code Playgroud)

所以我称之为:

t_dict = {}
for N in [1000,5000,10000,50000,100000,200000,300000,400000,500000]:
    t_dict[N] = get_time(N)
Run Code Online (Sandbox Code Playgroud)

并绘制结果:

在此输入图像描述

我会猜到/希望insort最大化O(nlog(n)).从文档中可以看出:

"请记住,O(log n)搜索主要是缓慢的O(n)插入步骤."

我在这里错过了什么?

编辑:我错过了一些非常明显的东西.无论如何,我想使用SortedContainers包中的SortedList以同样的方式更新问题:

在此输入图像描述

非常快的东西!

python algorithm big-o bisection

3
推荐指数
1
解决办法
159
查看次数

从函数内调用summary()不会输出任何内容

为什么没有这个功能:

test <- function(somebool = FALSE) {

        mydata<-read.csv("mycsvfile.csv")
        if(somebool){
                print("somebool")
                summary(mydata)
        }
        mydata
}

outdata<-test(somebool=TRUE)
print("head")
head(outdata)
Run Code Online (Sandbox Code Playgroud)

在函数调用中打印摘要?它会在它之前打印"somebool",但不会打印摘要.

非常感谢你的帮助.

r

2
推荐指数
1
解决办法
1933
查看次数

从列表中批量写入py2neo

我有以下数据,表示两个对象之间的距离.

data = [[('123','234'), 10],
        [('134','432'), 12],

       ]
Run Code Online (Sandbox Code Playgroud)

我想通过py2neo v3将它插入到neo4j中:

for e, p in enumerate(data):
    #
    id_left  = p[0][0]
    id_right = p[0][1]    
    distance = p[1]
    #
    left  = Node("_id", id_left)
    right = Node("_id", id_right)
    G.merge(left)
    G.merge(right)
    r = Relationship(left,'TO', right, distance=distance)
    G.create(r)
    #
Run Code Online (Sandbox Code Playgroud)

但我发现这非常非常慢.加速这项工作的最佳方法是什么?我环顾四周,但没有找到任何代码示例,清楚地说明了如何去做

neo4j cypher py2neo

2
推荐指数
1
解决办法
515
查看次数

访问成员类的私有成员

我有一个A类,私人成员是myMember.还有一个B级,有一个A级私人成员,叫做myA;

那是:

public class A{
    private int myMember;
    ...
}

public class B{
    private A myA;

}
Run Code Online (Sandbox Code Playgroud)

我希望能够访问:

B.myA.myMember;
Run Code Online (Sandbox Code Playgroud)

但似乎我不能,因为myMember在A中是私有的.事实上,我需要将A定义为私有用于练习(也包括它无法保护).有没有解决的办法?

谢谢.

java

0
推荐指数
1
解决办法
148
查看次数

zeppelin with spark 1.5.2独立集群错误

我已经将Zeppelin 0.5.5二进制文件下载到了redhat 6.3实例中.我也成功地建立了火花1.5.2.现在,我想让zeppelin使用spark版本而不是zeppelin附带的预编译版本.

为此,我编辑了conf/so,它只包含这条未注释的行:

export SPARK_HOME=/home/eron/spark-1.5.2/
Run Code Online (Sandbox Code Playgroud)

我还编辑了zeppelin GUI,现在我已经设置了Master:

master = spark://master:7077
Run Code Online (Sandbox Code Playgroud)

然后我点击重启并尝试再次阅读教程:

val bankText = sc.textFile("/mnt/zeppelin-0.5.5-incubating-bin-all/bank.csv")
Run Code Online (Sandbox Code Playgroud)

org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)中的org.apache.thrift.transport.TTransportException位于org.apache.thrift.transport.TTransport.readAll(TTransport.java:86).位于org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)的apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol. Java的:219)在org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)在org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService $ Client.recv_interpret(RemoteInterpreterService.java:220)在org.apache.zeppelin .interpreter.thrift.RemoteInterpreterService $ Client.interpret(RemoteInterpreterService.java:205)org.apache.zeppelin.interpreter.remote.RemoteInterpreter.interpret(RemoteInterpreter.java:211)org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret (LazyOpenInterpreter.java:93)org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:207)org.apache.zeppelin.scheduler.Job.run(Job.java:170)at org.apache.zeppelin.scheduler.RemoteScheduler $ JobRunner.run(RemoteScheduler.java:304)at java .util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)在java.util.concurrent.FutureTask.run(FutureTask.java:262)在java.util.concurrent.ScheduledThreadPoolExecutor中$ $ ScheduledFutureTask.access 201(的ScheduledThreadPoolExecutor. Java的:178)在java.util.concurrent.ScheduledThreadPoolExecutor中$ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)在java.util.concurrent.ThreadPoolExecutor中的$工人java.lang.Thread.run中的.run(ThreadPoolExecutor.java:615)(Thread.java:745)

还有,干得好

sc
Run Code Online (Sandbox Code Playgroud)

收益率:

java.net.ConnectException:连接被拒绝在java.net.PlainSocketImpl.socketConnect(本机方法)在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)在java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)在java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)的java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182),位于org.apache的java.net.Socket.connect(Socket.java:579). thrift.transport.TSocket.open(TSocket.java:182)org.apache.zeppelin.interpreter.remote.ClientFactory.create(ClientFactory.java:51)at org.apache.zeppelin.interpreter.remote.ClientFactory.create( ClientFactory.java:37)org.apache.com上的org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:60)org.apache.com.and.Gempl(GenericObjectPool.java:86) org.apache.commons.pool2.impl.Gener上的.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)icObjectPool.borrowObject(GenericObjectPool.java:363)在org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.getClient(RemoteInterpreterProcess.java:139)在org.apache.zeppelin.interpreter.remote.RemoteInterpreter.interpret(RemoteInterpreter.java: 192)在org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)在org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:207)在org.apache.zeppelin.scheduler.Job .run(Job.java:170)atg.apache.zeppelin.scheduler.RemoteScheduler $ JobRunner.run(RemoteScheduler.java:304)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)at at java.util.concurrent.FutureTask.run(FutureTask.java:262)java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 201(ScheduledThreadPoolExecutor.java:178)java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor) .java:292)at java.util.concurrent.ThreadPoolExecutor.runWorker(Thread PoolExecutor.java:1145)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:745)花了0秒.

我做错了什么想法?

apache-spark apache-zeppelin apache-spark-1.5

0
推荐指数
1
解决办法
1508
查看次数