我想通过java在Kafka(kafka_2.8.0-0.8.1.1)中创建一个主题.如果我在命令提示符下创建一个主题,并且如果我通过java api推送消息,它工作正常.但我想通过java api创建一个主题.经过长时间的搜索,我发现下面的代码,
ZkClient zkClient = new ZkClient("localhost:2181", 10000, 10000);
AdminUtils.createTopic(zkClient, myTopic, 10, 1, new Properties());
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的代码,它显示主题已创建,但我无法在主题中推送消息.我的代码中有什么问题吗?或者以其他任何方式实现上述目标?
在我正在使用的java应用程序中SQL server and Hibernate3 with EJB.当我尝试执行select查询时with In clause,DB服务器CPU使用率达到100%.但是当我尝试运行相同的查询时SQL management studio,查询运行时没有任何CPU峰值.应用服务器和DB服务器是两台不同的机器.我的表有以下架构,
CREATE TABLE student_table (
Student_Id BIGINT NOT NULL IDENTITY
, Class_Id BIGINT NOT NULL
, Student_First_Name VARCHAR(100) NOT NULL
, Student_Last_Name VARCHAR(100)
, Roll_No VARCHAR(100) NOT NULL
, PRIMARY KEY (Student_Id)
, CONSTRAINT UK_StudentUnique_1 UNIQUE (Class_Id, Roll_No)
);
Run Code Online (Sandbox Code Playgroud)
该表包含大约1000万条记录.我的疑问是
select Student_Id from student_table where Roll_No in ('A101','A102','A103',.....'A250');
Run Code Online (Sandbox Code Playgroud)
In子句包含250个值,当我尝试在SQL管理工作室中运行上面的查询时,结果在1秒内被检索到没有任何CPU峰值.但是当我试图通过休眠运行相同的查询时,CPU峰值达到100%大约60秒,并且结果在大约60秒内被检索到.hibernate查询是,
Criteria studentCriteria = session.createCriteria(StudentTO.class);
studentCriteria.add(Restrictions.in("rollNo", rollNoLists)); //rollNoLists is an Arraylist contains 250 Strings
studentCriteria.setProjection(Projections.projectionList().add(Projections.property("studentId")));
List<Long> studentIds …Run Code Online (Sandbox Code Playgroud) 我正在使用SQL Server 2014 in AWS,AWS映像配置是4核和16GB RAM(m3.xlarge).我正在运行以下简单查询,
SELECT * FROM user_table WHERE user_id = '10'
Run Code Online (Sandbox Code Playgroud)
user_table包含1000k记录,user_id是主键.当通过EJB hibernate从我的应用程序执行上述简单查询时,CPU暂时上升到10%并再次恢复正常.
所以我的用例是,100个用户将同时尝试命中应用程序,因此在上述查询的一小部分中,上述查询将尝试在几分之一秒内执行.因此CPU使用率达到100%.完成所有查询执行后,CPU使用率恢复正常,为1%.
编辑1:
我的数据文件大小的另外一个信息32.2GB是894mb,我的数据库的日志文件大小.
我的数据库具有隔离级别READ_COMMITTED_SNAPSHOT is set to ON.但是当我尝试设置时READ_COMMITTED_SNAPSHOT to OFF,性能提升有20%的差异,但性能改进并不是那么大.
我正在使用cassandra 1.2.15版本.使用cassandra CQL Java驱动程序我将创建一个键空间.我的问题是我无法创建一个包含hypen(test-hypen)的密钥空间.
码:
String query = "CREATE KEYSPACE \"test-hypen\" WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor' : 1 }"
resultSet = session.execute(query)
Run Code Online (Sandbox Code Playgroud)
当我试图这样做时,我得到了以下异常
java.lang.Exception: com.datastax.driver.core.exceptions.InvalidQueryException: "test-hypen" is not a valid keyspace name
Run Code Online (Sandbox Code Playgroud)
任何解决方法或任何可能的方法来创建字符之间的supn键空间?