메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


* MongoDB shell 구문을 Java Code로 표현하면 아래와 같다.

 db.employee.aggregate({$unwind: '$dp.fin.Record'},       
 {$match:{"dp.mon":"patch.metrics",'dp.fin.Record':{$exists:1}}},      
 {$group:{_id: '$dp.fin.Record', count:{$sum:1}}},      
 {$project:{count:'$count'}},   {$group:{_id:'Total
 Count',total:{$sum:'$count'}}});


-->

DBCollection table=null;
MongoClient mongoClient=null;
DB db = null;

mongoClient = new MongoClient(new ServerAddress(db_server, Integer.parseInt(db_port)));
db = mongoClient.getDB(db_name);
table = db.getCollection(collection_name);


//Forming Unwind parts
DBObject unwind = new BasicDBObject("$unwind","$dp.fin.record");

//Forming Match parts
DBObject match = new BasicDBObject();
match.put("dp.mon","patch.metrics");
match.put("dp.fin.Record", new BasicDBObject("$exists",1));

//Forming Group parts
DBObject group1 = new BasicDBObject();
group1.put("_id", "$dp.fin.Record");
group1.put("count", new BasicDBObject("$sum", 1));

//Forming Project parts
DBObject project = new BasicDBObject();
project.put("count", "$count");

//Forming Group parts
DBObject group2 = new BasicDBObject();
group2.put("_id", "Total Count");
group2.put("total", new BasicDBObject("$sum", "$count"));


/**
 * Executing aggregation 
 */
AggregationOutput output = table.getCollection("employee").aggregate(unwind,				                                                                            
          new BasicDBObject("$match",match),			                                                                            
          new BasicDBObject("$group",group1),				                                                                            
          new BasicDBObject("$project",project),				                                                                            
          new BasicDBObject("$group",group2));

// 결과확인		
System.out.println("output : "+output);;


번호 제목 날짜 조회 수
90 lagom의 online-auction-java프로젝트 실행시 외부의 kafka/cassandra를 사용하도록 설정하는 방법 2017.10.12 3917
89 서버중 slave,worker,regionserver만 재기동해야 할때 필요한 기동스크립트및 사용방법 2017.02.03 3932
88 A Cluster의 HDFS 디렉토리및 파일을 사용자및 권한 유지 하여 다운 받아서 B Cluster에 넣기 2020.05.06 3941
87 Hadoop - 클러스터 세팅및 기동 2015.04.28 4003
86 ResultSet에서 데이타를 List<Map<String,String>>형태로 만들어서 리턴하는 소스(Collections.sort를 이용한 정렬 가능) 2016.12.15 4053
85 Error: java.lang.RuntimeException: java.lang.OutOfMemoryError 오류가 발생하는 경우 2018.09.20 4058
84 AIX 7.1에 Hadoop설치(정리중) 2016.09.12 4083
83 권한회수 및 권한부여 명령 몇가지 2017.11.16 4085
82 MongoDB에 있는 특정컬럼의 값을 casting(string->integer)하여 update하기 java 소스 2016.12.19 4098
81 like검색한 결과를 기준으로 집계를 수행하는 java 소스 2016.12.19 4114
80 SQL문장과 Mongo에서 사용하는 명령어를 비교한 것입니다. 2015.09.30 4148
79 Ubuntu 16.04 LTS에 4대에 Hadoop 2.8.0설치 2017.05.01 4160
78 DB별 JDBC 드라이버 2015.10.02 4177
77 hadoop의 data디렉토리를 변경하는 방법 2014.08.24 4180
76 Container killed by the ApplicationMaster. Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143 TaskAttempt killed because it ran on unusable node 오류시 조치방법 2017.04.06 4187
75 Windows7 64bit 환경에서 Apache Hadoop 2.7.1설치하기 2017.07.26 4274
74 hortonworks에서 제공하는 메모리 설정값 계산기 사용법 file 2015.06.14 4275
73 Cassandra 3.4(3.10) 설치/설정 (5대로 clustering) 2016.04.11 4345
72 Hadoop 완벽 가이드 정리된 링크 2016.04.19 4353
71 mongodb에서 큰데이타 sort시 오류발생에 대한 해결방법 2015.12.22 4381
위로