메뉴 건너뛰기

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);;


번호 제목 날짜 조회 수
130 bananapi 5대(ubuntu계열 리눅스)에 yarn(hadoop 2.6.0)설치하기-ResourceManager HA/HDFS HA포함, JobHistory포함 2015.04.24 22217
129 mapreduce appliction을 실행시 "is running beyond virtual memory limits" 오류 발생시 조치사항 2017.05.04 19792
128 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. 2013.03.11 16996
127 drop table로 삭제했으나 tablet server에는 여전히 존재하는 테이블 삭제방법 2021.07.09 10807
126 [Decommission]시 시간이 많이 걸리면서(수일) Decommission이 완료되지 않는 경우 조치 2018.01.03 10199
125 HBase shell로 작업하기 2013.03.15 8335
124 하둡 분산 파일 시스템을 기반으로 색인하고 검색하기 2013.03.15 7635
123 hadoop 2.6.0 기동(에코시스템 포함)및 wordcount 어플리케이션을 이용한 테스트 2015.05.05 6508
122 hadoop및 ecosystem에서 사용되는 명령문 정리 2014.05.28 6433
121 Hadoop Cluster 설치 (Hadoop+Zookeeper+Hbase) file 2013.03.07 6097
120 HBase 설치하기 – Fully-distributed 2013.03.12 6011
119 Hbase Shell 명령 정리 2013.04.01 5924
118 HBASE Client API : 기본 기능 정리 file 2013.04.01 5851
117 "java.net.NoRouteToHostException: 호스트로 갈 루트가 없음" 오류시 확인및 조치할 사항 2016.04.01 5807
116 hbase shell 필드 검색 방법 2015.05.24 5689
115 이클립스에서 생성한 jar 파일 hadoop 으로 실행하기 file 2013.03.06 5534
114 AIX 7.1에 MariaDB 10.2 소스 설치 2016.09.24 5451
113 org.apache.hadoop.security.AccessControlException: Permission denied: user=hadoop, access=WRITE, inode="":root:supergroup:rwxr-xr-x 오류 처리방법 2014.07.05 5382
112 banana pi에(lubuntu)에 hadoop설치하고 테스트하기 - 성공 file 2014.07.05 5343
111 mysql-server 기동시 Do you already have another mysqld server running on port 오류 발생할때 확인및 조치방법 2017.05.14 5337
위로