小编wuc*_*ang的帖子

Redis,分发与否?

问题1:我知道Redis将所有数据加载到内存中,从而提高了读/写速度.那么,这是否意味着如果我的内存大小是2G,最大数据集大小不应该大于2G?现在我的数据库有100G +数据,我服务器的内存不能大于32G,所以,Redis不再适合我吗?

问题2:Redis是否是分布式系统?当我使用谷歌搜索redis的CAP属性时,它说Redis不是分布式系统,因此,它与CAP无关 .但是从维基百科来看,它说它有一个主从架构,一个有很多奴隶的大师.多么令人困惑.

distributed nosql redis

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

更新forked GitHub repo以匹配原始的最新代码并提交

我几天前分叉了一个GitHub项目,从它的问题开始,我可以看到主分支从那时起就进行了一些修改.

当我cd到这个项目的位置目录并使用git pull它时,它说"已经是最新的".为什么?

如何更新我的fork以包含来自原始仓库的提交?

fork github git-pull

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

kafka.javaapi.*和org.apache.kafka之间有什么区别.*?

我是kafka的新学习者.但令我困惑的是,似乎有两个kafka客户端包.

一个是kafka.javaapi.*喜欢

import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
Run Code Online (Sandbox Code Playgroud)

另一个是org.apache.kafka.*.喜欢

import org.apache.kafka.clients.producer.KafkaProducer<K,V>
Run Code Online (Sandbox Code Playgroud)

显示的是页面http://kafka.apache.org/082/javadoc/index.html?org/apache/kafka/clients/producer

我不知道他们的分歧是什么.

api apache-kafka

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

java异常会终止整个java应用程序吗?

我曾经认为,当发生异常时,整个java应用程序将被终止.例如,我编写了一个测试函数来测试我的想法.

public void test(){
    File fileDir=new File(sourceDataDir);
    if(fileDir.exists()){
        File[] files = fileDir.listFiles();
        for(int index=0 ; index<files.length ; index++){
            System.out.println("index = "+index);
            File file = files[index];
            if(index == 1)//delete a file to cause a FileNotFoundException
                file.delete();
            try {
                BufferedReader in = new BufferedReader(new FileReader(file));
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我删除了一个FileNotFoundException手动文件.我以前认为整个应用程序将在异常发生时终止.但实际上,应用程序将继续读取剩余的文件.所以,我的问题是,在什么情况下异常将导致整个应用程序被终止?

java multithreading jvm exception-handling exception

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

Java GC:老一代变得越来越大,无法回收

我正在编写我的servlet程序并使用jconsole和jmap来监视它的内存状态.我发现当我的程序运行时,Memory Pool"PS Old Gen"变得越来越大,最后我的servlet无法响应任何请求.

这是我的JConsole输出的截图:

在此输入图像描述

当我单击"执行GC"按钮时,什么也没发生.

所以,要查看详细信息,我使用jmap转储详细信息:

在此输入图像描述

这是我的JConsole VM Summary输出: 在此输入图像描述 任何人都可以帮我解决可能出现的问题?你知道,GC"PS MarkSweep"和"PS ​​SCavenge"是我的服务器JVM的默认GC.

谢谢.


我发现一个非常奇怪的现象:从昨天的18:00到今天的09:00的15个小时,似乎GC上的"PS Old Gen"从未发生过,这使得老一代的旧记忆变得越来越大.i只需手动点击"执行GC"按钮,似乎这个GC非常有效并且回收了大量内存.但为什么老一代GC不会自动发生这么长时间?我们可以看到,在昨天的18:00之前,旧一代GC正常工作. 在此输入图像描述

java garbage-collection

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

扩展前后的C++ sizeof运算符

我现在正在测试C++ sizeof运算符的结果:

class S{};
class A:public S{
    virtual void fun()=0;
};
class B{};
class C : public B,public A {};

int main(){
     cout<<sizeof(A)<<endl;// result is 4
     cout<<sizeof(C)<<endl;// result is 8
} 
Run Code Online (Sandbox Code Playgroud)

但是如果我删除了S类的扩展:

class A{
    virtual void fun()=0;
};
class B{};
class C : public B,public A{};

int main(){
    cout<<sizeof(A)<<endl;// result is 4
    cout<<sizeof(C)<<endl;// result is 4
} 
Run Code Online (Sandbox Code Playgroud)

谁能解释sizeof(C)这两个例子中不同的输出?类S只是一个空类(我知道sizeof(S) == 1),那么为什么它是否A有基类有所不同?特别是因为它没有任何区别sizeof(A),只有sizeof(C)

c++ sizeof

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

perl表达式"或"和子例程"isa"

我遇到了这段代码,但我不明白.

$type->isa('UNIVERSAL')
  or eval "require $type"
    or croak $@;
Run Code Online (Sandbox Code Playgroud)
  1. 我已经提到了perldoc,我知道子程序isa()正在检查是否$type已经祝福包装UNIVERSAL.但实际上,所有Perl类都是子类UNIVERSAL,对吧?

  2. 我对这两个or术语感到困惑.他们的意思是什么?

perl isa

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

java mongodb sort()和limit()函数

我想对每个JSP页面的返回结果进行排序(每页100个项目),而不是全局排序。

   DBObject sort = new BasicDBObject();
   DBObject exist = new BasicDBObject();
   DBObject query= new BasicDBObject();
   exist.put("$exists",1);
   query.put("sortKey":exist);//sortKey is not indexed
   sort.put("sortKey",1);
    DBCursor cursor = dbcollection.find(query).limit(100).sort(sort);
    while(cursor.hasNext()){
    System.out.println(cursor.next());
    }
Run Code Online (Sandbox Code Playgroud)

但是实际上,对于集合中的所有文档,仍对排序进行处理,即,即使使用函数limit(100),它也是全局排序。由于集合的规模非常大,因此排序功能将占用相当大的空间。因此,我想知道mongodb java驱动程序是否具有将执行本地(仅对返回的100个文档进行排序)而不是全局排序的功能?

java sorting mongodb

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

Kafka连接器-无法停止重新平衡

我正在使用kafka连接器融合3.0.1版本。我创建了一个名为new-group的新组,其上大约有20个主题。这些主题大多数都很忙。但是很可惜的是,当我启动连接器框架时,系统无法停止重新平衡,所有主题大约需要2分钟重新平衡。我不知道原因 一些错误信息是:

[2017-01-03 21:43:57,718] ERROR Commit of WorkerSinkTask{id=new-connector-0} offsets threw an unexpected exception:  (org.apache.kafka.connect.runtime.WorkerSinkTask:180)
org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed since the group has already rebalanced and assigned the partitions to another member. This means that the time between subsequent calls to poll() was longer than the configured session.timeout.ms, which typically implies that the poll loop is spending too much time message processing. You can address this either by increasing the session timeout or by reducing the maximum size …
Run Code Online (Sandbox Code Playgroud)

apache-kafka rebalancing apache-kafka-connect

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

Pyspark 查询配置单元非常慢,即使最终结果很小

我正在使用 spark 2.0.0 来查询 hive 表:

我的 sql 是:

select * from app.abtestmsg_v limit 10
Run Code Online (Sandbox Code Playgroud)

是的,我想从 view 中获取前 10 条记录app.abtestmsg_v

当我在 spark-shell 中运行这个 sql 时,它非常快,使用大约2 秒

但是当我尝试通过我的 python 代码实现这个查询时,问题就来了。

我使用的是 Spark 2.0.0 并编写了一个非常简单的 pyspark 程序,代码是:

下面是我的 pyspark 代码:

from pyspark.sql import HiveContext
from pyspark.sql.functions import *
import json
hc = HiveContext(sc)
hc.setConf("hive.exec.orc.split.strategy", "ETL")
hc.setConf("hive.security.authorization.enabled",false)
zj_sql = 'select * from app.abtestmsg_v limit 10'
zj_df = hc.sql(zj_sql)
zj_df.collect()
Run Code Online (Sandbox Code Playgroud)

下面是我的 Scala 代码:

val hive = new org.apache.spark.sql.hive.HiveContext(sc)
hive.setConf("hive.exec.orc.split.strategy", "ETL") …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql pyspark

5
推荐指数
0
解决办法
933
查看次数