단일 싱크 구조는 아래와 같다. 하나의 source와 channel, sink를 가지는 구조이다. 위 그림에서는 Flume을 이용하여 MongoDB에 저장하는 구조이다. 여기서 하나의 Event에 대해 2군데 데이터를 전송하려면 어떻게 해야할까? 예를 들어 하나의 Event를 보냈을 때, MongoDB에도 저장하고 HDFS 에도 저장하려고 한다. 2개의 sink를 연결해 볼 수 있다. 이 경우에는 Event 정보가 MongoDB나 HDFS 둘 중에 하나만 저장이 된다. 어떤 Sink가 선택이 되는지는 알 수 없으나, 설정상 나중에 연결된 sink 부터 전달되는 듯 하다. 테스트를 해보면 위 경우 HDFS Sink를 먼저 시도한다. 이 때 HDFS sink에 실패한다면 Mongo Sink를 시도한다 이는 ..
http://docs.mongodb.org/manual/reference/sql-aggregation-comparison/ 위 페이지에서 RDBMS에서 사용하는 SQL과 Mongo Query에 대해서 비교해주고 있다. 그 중 having 절을 Mongo Query로 어떻게 생성할까? 방법만 이야기 해보면 $match를 한 번 더 하면 된다. 예를 들면 고객별 날짜별 구입가격 합을 구하는 SQL이 아래와 같이 있다고 하자. SELECT cust_id, ord_date, SUM(price) AS total FROM orders GROUP BY cust_id, ord_date 여기에 일별 총 구매가가 250 이상인 고객만 가져오고 싶다면 having 절을 사용한다. SELECT cust_id, ord_date..
MongoDB aggregate 를 통해 데이터를 집계하다가 아래와 같은 오류를 접하게 되었습니다. { errmsg: \"exception: aggregation result exceeds maximum document size (16MB)\", code: 16389, ok: 0.0 }"} 원인은 MongoDB의 경우 Document기반의 NoSQL DB로 Document size가 16MB로 고정되어 있습니다.(기본적으로는 수정 불가, 단, GridFS 적용시 가능) aggregate 수행결과 또한 Document이기 때문에, 이 결과도 16MB를 초과할 수 없습니다. 위 오류는 결과가 16MB를 초과하여 발생한 것 입니다. 이를 해결하기 위해서 MongoDB 공식 사이트를 검색해보니, Aggregat..
compact 시에 option을 추가할 수 있는데, paddingFactor라는 것이 있다. paddingFactor란 무엇일까? MongoDB 공식 가이드에는 아래와 같이 설명되어 있다. The amount of space added to the end of each document at insert time. The document padding provides a small amount of extra space on disk to allow a document to grow slightly without needing to move the document. mongod automatically calculates this padding factor 즉, document 저장시 실제 데이터 내용보..
- Total
- Today
- Yesterday
- HADOOP
- flume
- spring
- exception
- 알고리즘
- Apache Spark
- mongodb
- Learning Spark
- Hdfs
- spark
- 책요약
- bigdata
- json
- PYTHON
- Git
- jenkins
- mongo
- Django
- 태그를 입력해 주세요.
- java
- linux
- Oracle
- 통계학
- CI
- jenkins2.0
- 확률분포
- mysql
- Sqoop
- jackson
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |