小编use*_*887的帖子

未在mongo shell中设置的变量

我正在尝试使用mongo shell,我在mongo shell中存储值时遇到了挑战

当我在文档用户中找到用户时,我将其存储在变量doc中

> var doc = db.users.find({"username":"anil"});
Run Code Online (Sandbox Code Playgroud)

当我在mongo shell中输入doc时,我看到了json对象

> doc
{ "_id" : ObjectId("57325aaa48d9231b11e5cb81"), "username" : "anil", "email" : "mongodb@gmail.com" }
Run Code Online (Sandbox Code Playgroud)

但是,当我再次输入doc时,我什么也看不见.它走了..我在这里做错了什么?

> doc
>
Run Code Online (Sandbox Code Playgroud)

它可能很简单,但我没有得到它.有人可以指出我做错了什么吗?

mongodb mongo-shell mongodb-query

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

Apache Spark - reducebyKey - Java -

我试图reduceByKey用java作为编程语言来理解Spark中的工作.

说我有句"我就是我自己".我将句子分成单词并将其存储为列表[I, am, who, I, am].

现在这个函数分配1给每个单词:

JavaPairRDD<String, Integer> ones = words.mapToPair(new PairFunction<String, String, Integer>() {
    @Override
    public Tuple2<String, Integer> call(String s) {
        return new Tuple2<String, Integer>(s, 1);
    }
});
Run Code Online (Sandbox Code Playgroud)

所以输出是这样的:

(I,1) 
(am,1)
(who,1)
(I,1)
(am,1)
Run Code Online (Sandbox Code Playgroud)

现在如果我有3个reducer运行,每个reducer将获得一个键和与该键相关的值:

reducer 1:
    (I,1)
    (I,1)

reducer 2:
    (am,1)
    (am,1)

reducer 3:
    (who,1)
Run Code Online (Sandbox Code Playgroud)

我想知道

一个.在下面的函数中到底发生了什么.
湾 参数是什么new Function2<Integer, Integer, Integer>
c.基本上是如何形成JavaPairRDD.

JavaPairRDD<String, Integer> counts = ones.reduceByKey(new Function2<Integer, Integer, Integer>() {
    @Override
    public Integer call(Integer i1, Integer i2) { …
Run Code Online (Sandbox Code Playgroud)

java apache-spark

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

mongodb 中的主分片

我正在尝试查看 mongodb 分片的文档,但我对主分片的分配方式和主分片的含义感到有些困惑

根据文档,它统计

每个数据库都有一个主分片,用于保存数据库的所有未分片集合。主分片与副本集中的主分片没有关系。

这是否意味着主分片是首次创建数据库的分片中的分片(或服务器集合)?

假设我有 3 个分片 s0、s1 和 s2。在每个分片中,我有 3 个服务器

  • s0 服务器 1(主要)
  • s0 服务器 2(辅助)
  • s0 - 服务器 3(辅助)

  • s1 - 服务器 4(主要)

  • s1 - 服务器 5(辅助)
  • s1 - 服务器 6(辅助)

  • s2 - 服务器 7(主要)

  • s2 - 服务器 8(辅助)
  • s2 - 服务器 9(辅助)

现在,当我通过 mongoclient 和通过 mongos 创建新数据库时。现在说请求转到分片 1 (s1)。由于创建数据库是一个写操作,它将转到分片 1 中的服务器 4,因此 s1 成为主分片?

另一方面,如果请求将遍历到 s2 分片,那么服务器 7 将是主分片,然后 s2 将是我的主分片?

这种理解是正确的还是我哪里出错了?

sharding mongodb

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

Mongodb VS Redis - 性能基准 - 哪个数据库应该用于缓存?

我正在努力最终确定我们的应用程序需要使用的缓存层。目前我们已经入围了 2 个 Redis 和 Mongodb。我不确定使用哪一个作为缓存。因此,我想到对两者进行性能测试,然后根据结果进行比较。

现在,我已经阅读了很多关于各自优点的文章,看起来推荐的方法是使用 Mongodb 作为数据存储层,使用 Redis 作为缓存层,它位于 Web 应用程序的前面,以避免请求到达源站。

我在下面分享了结果。

但根据我的性能结果,redis 的性能与 mongodb 相差甚远。那么我们可以有把握地说 mongodb 是比 redis 更好的缓存选择吗?

请告诉我你们的想法。另外,我不是 Redis 或 mongodb 方面的专家,所以如果我在 Redis 或 mongodb 中做错了什么,请告诉我。

我可以修复并再次重做测试。

主机配置:

  • Windows 10 专业版
  • 英特尔酷睿 i5 2520M CPU 2.50Ghz
  • 内存 16GB

在此输入图像描述

Redis 版本:3.2.1(Windows 64 位版本) Mongo 版本:3.2.5(Windows 64 位版本)

Redis.java

package com.redis.mogo.perftest;

import redis.clients.jedis.Jedis;

public class RedisJava {

    public static void main(String args[]) {

          Jedis jedis = new Jedis("localhost");
          System.out.println("Connection to server sucessfully");
          System.out.println("Server is running: "+jedis.ping());
          int …
Run Code Online (Sandbox Code Playgroud)

caching mongodb redis mongodb-java

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

Java 8:根据对象属性从列表中迭代和分组对象

我有一个列表(GlobalBooks),看起来类似于下面

import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {

        GlobalBooks globalBooks = new GlobalBooks();

        List<Book> bookList  = new ArrayList<Book>();


        Book book = new Book();
        List<BookContent> bookContents = new ArrayList<BookContent>();

        book.setBookName("A");
        BookContent content = new BookContent();
        content.setDescription("December 2016");
        content.setComponentID(20l);
        bookContents.add(content);

        content = new BookContent();
        content.setDescription("January 2016");
        content.setComponentID(30l);
        bookContents.add(content);

        content = new BookContent();
        content.setDescription("Febuary 2016");
        content.setComponentID(40l);
        bookContents.add(content);
        book.setContents(bookContents);

        bookList.add(book);


        book = new Book();
        bookContents = new ArrayList<BookContent>();

        book.setBookName("B");
        content = new BookContent();
        content.setDescription("December 2016");
        content.setComponentID(20l);
        bookContents.add(content); …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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

spring boot:无法解析导入的org.springframework.jdbc.core.JdbcTemplate

我正在尝试使用springboot编写的一个测试程序遇到困难。当我尝试在DAO层中导入JdbcTemplate类时,出现错误:导入org.springframework.jdbc.core.JdbcTemplate无法解析

我不确定我缺少什么,我已经检查了依赖关系,它们对我来说很好。下面是我的pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.vittles</groupId>
    <artifactId>FoodFood</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>FoodFood</name>
    <url>http://maven.apache.org</url>

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


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

附件是我在Java文件中得到的错误 在此处输入图片说明

还附带了jar导入列表。可以让我知道我做错了吗。

在此处输入图片说明

java spring jdbc spring-jdbc spring-boot

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

获取NamedParameterJdbctemplate的大小?

我正在处理一个涉及我编写查询以从数据库中获取数千条记录的问题。我将使用的查询将在WHERE条件中包含2个IN子句。

据我所知,这可能是有限的,因此请纠正我,对于此用例,我无法使用jdbctemplate。我将不得不转向NamedParameterJdbcTemplate,因为NamedParameterJdbcTemplate使我们可以灵活地使用IN子句。

现在,我正在寻找答案的问题如下。

问:> NamedParameterJdbcTemplate没有setFetchSize方法。有没有一种方法可以设置NamedParameterJdbcTemplate的获取大小?

问>是否有人对NamedParameterJdbcTemplate的默认获取大小有任何想法?对于JdbcTemplate,它设置为10。我知道。那NamedParameterJdbcTemplate呢?

Q>即使我使用NamedParameterJdbcTemplate,也无法解决我的问题,因为如果我们假设NamedParameterJdbcTemplate的获取大小也为10,则获取几千条记录仍会花费很多我的应用程序时间。

任何人都可以提出解决方案或指导我朝正确的方向发展吗?

java spring named-parameters spring-jdbc jdbctemplate

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

ORA-01810:格式代码出现两次:jdbctemplate

我正在玩一些日期和jdbctemplate查询,我得到以下错误.

// creating a LocalDate object with specific date & time   

LocalDate date = LocalDate.of(LocalDate.now().getYear(), LocalDate.now().getMonth(), LocalDate.now().getDayOfMonth());

System.out.println("date $$$$$$$$$$$" +date);

LocalDateTime datetime = date.atTime(LocalTime.MAX);
System.out.println("datetime " +datetime);

// is not required since above steps is the same. 
datetime.withHour(23).withMinute(59).withSecond(59);

System.out.println("datetime with " +datetime);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh24:mm:ss");
System.out.println("formatter" +datetime.format(formatter));


 return jdbcTemplate.queryForObject("SELECT COUNT(*) FROM test where status in ('ACTIVE','ACTIVE_P') AND CREATED<TO_dATE('"+datetime.format(formatter)+"','yyyy-MM-dd hh24:mm:ss')",Integer.class);
Run Code Online (Sandbox Code Playgroud)

这是输出

date $$$$$$$$$$$2017-08-20
datetime 2017-08-20T23:59:59.999999999
datetime with 2017-08-20T23:59:59.999999999
formatter2017-08-20 1124:59:59
2017-08-20 01:53:00.029  INFO 12604 --- [pool-1-thread-1] com.zaxxer.hikari.HikariDataSource       : hikari-subscription …
Run Code Online (Sandbox Code Playgroud)

java sql oracle jdbc date-format

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