小编Jac*_*ack的帖子

生产者如何获得Kafka max偏移量

如何使用命令行获取一个主题的最大偏移量.我的意思是不属于任何消费者的最大偏移量,它是生产者的最大偏移量.

apache-kafka

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

为什么多个进程在python中具有相同的对象ID

代码如下:

class T1():
    def mytest(self,obj):
        print id(obj)

if __name__=='__main__':
    obj = {'a':'b'}
    t1 = T1()
    p1 = Process(name='p1',target=t1.mytest,args=(obj))
    p1.start()
    p2 = Process(name='p2',target=t1.mytest,args=(obj))
    p2.start()
Run Code Online (Sandbox Code Playgroud)

上面的代码打印出相同的id,两个进程共享同一个对象吗?另一个问题,当我将 dict 更改为另一个常规对象时,它会抛出异常:TypeError: 'Test' object is not iterable
如何在 python 进程之间共享常规对象。

python

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

使用 logback RollingFileAppender 时没有删除旧的日志文件

我的 logback.xml 文件如下,我设置 MaxHistory=1 是为了删除旧的日志文件,只保留一天的日志。但我发现旧文件没有被删除。我仍然可以将它们视为:app.log.2019-02-11 app.log.2019-02-12

<configuration>
    <property name="APP_NAME" value="logbacktest-logs" />
    <property name="LOG_HOME" value="/tmp/${APP_NAME}" />
    <property name="ENCODER_PATTERN" value="%d %C.%method:%L _ %msg%n"/>
    <contextName>${APP_NAME}</contextName>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${ENCODER_PATTERN}</pattern>
        </encoder>
    </appender> 
    <appender name="APP_APPEND" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/app.log.%d{yyyy-MM-dd}</fileNamePattern>
            <MaxHistory>1</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${ENCODER_PATTERN}</pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="APP_APPEND" />
    </root>

</configuration>
Run Code Online (Sandbox Code Playgroud)

log4j logback

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

对Node js的两个括号功能感到困惑

我试图理解NodeJS中的递归函数,但是我仍然对以下代码和输出感到困惑:

var firstf = function () {
    var counter = 0;
    return function () {    
           console.log("counter = " + counter);
           return counter += 1;
           }
    };
var add = firstf();
add();//output 0
add();//output 1
add();//output 2
firstf()();//output 0
firstf()();//output 0
firstf()();//output 0
Run Code Online (Sandbox Code Playgroud)

我可以理解三个add()函数输出0,1,2,但是我不明白为什么三个firstf()()输出0,0,0。请问两个()()是什么意思?

还有一个后续问题:对于这一行:var add = firstf(); 变量add将表示返回函数为:

function () {    
  console.log("counter = " + counter);
  return counter += 1;
}
Run Code Online (Sandbox Code Playgroud)

好的,问题是该函数如何看到变量计数器,因为上层计数器未在此内部函数中定义。

node.js

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

我需要使用nohup和&

我看到很多人都在使用以下命令:

nohup ./sendData.sh >logs/send.log 2>&1 &
Run Code Online (Sandbox Code Playgroud)

由于nohup已经使用过,我还需要添加&路径吗?

linux shell

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

运行 Spark MLlib kmeans 时出现 OutOfMemory

当我在大数据集上运行 Spark Kmeans 时,我总是遇到 OutOfMemory 错误。训练集大约 250GB,我有 10 个节点的 Spark 集群,每台机器有 16 个 CPU 和 150G 内存。我在每个节点上为作业分配了 100GB 内存,总共为 50 个 CPU。我将聚类中心设置为 100,迭代次数为 5。但是当代码在以下行上运行时,我得到了 OutOfMemory:

val model = KMeans.train(parsedData, numClusters, numIterations)
Run Code Online (Sandbox Code Playgroud)

有没有我可以调整的参数来解决问题。

如果我设置较小的聚类中心数或迭代数就可以了。

我的代码如下:

val originalData = sc.textFile("hdfs://host/input.txt").cache()
val tupleData = originalData.map { x => (x.split(":")(0),x.split(":")(1)) }
val parsedData = tupleData.map { x => x._1 }.map(s => Vectors.dense(s.split(',').map(_.toDouble)))

val model = KMeans.train(parsedData, numClusters, numIterations, 1, initializationMode = KMeans.RANDOM)
val resultRdd = tupleData.map { p => (model.predict(Vectors.dense(p._1.split(',').map(_.toDouble))),p._2)}
resultRdd.sortByKey(true, 1).saveAsTextFile("hdfs://host/output.txt")
Run Code Online (Sandbox Code Playgroud)

我的输入格式如下:

0.0,0.0,91.8,21.67,0.0 …
Run Code Online (Sandbox Code Playgroud)

machine-learning apache-spark apache-spark-ml apache-spark-mllib

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

出现副本滞后时,Kafka副本如何成为领导者

例如,我有三个副本:replica1(leader),replica2(follower),replica3(follower)。但是现在领导者和追随者之间存在差距,而领导者现在已经死亡。

因此,关注者没有最新消息(由于滞后)。那么,卡夫卡如何选出新的领导人,无论如何,都会有数据丢失,因此卡夫卡如何处理这一问题。

apache-kafka

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

def和var/val对于匿名函数有什么区别

我对匿名函数定义感到困惑如下:

var plusOne = (x:Int)=>x+1
// or val plusOne=(x:Int)=>x+1
println(plusOne(2))
Run Code Online (Sandbox Code Playgroud)

要么

def plusOne = (x:Int)=>x+1
println(plusOne(2))
Run Code Online (Sandbox Code Playgroud)

var/ valdef函数名称有什么区别.

scala

-1
推荐指数
1
解决办法
530
查看次数

为什么我不能使用function关键字在reactjs类中定义函数

我对ReactJS中的某些语法感到困惑,其中之一是,当我在一个Reactjs类中定义一个函数时,我不能使用function关键字,但是当我将该函数移到该类之外时,则必须在签名之前添加关键字function。其次,如果我在render()内编写一个函数,则必须使用箭头函数。例如,为什么以下错误:

class Test extends Component{
   constructor(props){
      super(props)
   }
   function test(){
     //this is wrong,I need to remove function keyword
   }

   render(){
     mytest(){
      //also this is wrong,I only can use arrow function
     }
   }
} 
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

-1
推荐指数
1
解决办法
82
查看次数