본문 바로가기

BigData66

확률적 자료구조를 이용한 추정 - 원소 포함 여부 판단(Membership Query)과 Bloom Filter 어느 글을 가져온 것인데, 어디서 가져온 것인지 기억이 나질 않는다.ㅠ membership query란 어떤 집합 와 어떤 원소 가 '' 관계인지 묻는 것을 말합니다. java.util.Set 인터페이스의 boolean contains(Object e) 메서드가 대표적인 membership query의 예입니다. 정확한 membership query 결과 값을 도출하려면 Java Collection의 set나 STL의 set 같은 symbol table 구현체를 이용하거나, 모든 원소를 데이터베이스에 저장하여 존재 여부를 판단하게 할 수 있습니다. 그러나 메모리에 모든 원소를 저장하면 메모리를 너무 많이 사용하고, 데이터베이스를 이용해 조회하면 상대적으로 시간이 많이 소요된다는 단점이 있습니다. "확률적.. 2015. 5. 20.
HDFS 내에 있는 파일에 Append 하기 HDFS 파일을 작성할 때 기존에 존재하는 파일에 내용을 write 하면 이미 존재하는 파일이라고 오류가 발생한다. 이를 어떻게 해결할 수 있을까? 기존에 있는 파일이라면 파일에 내용을 Append 할 순 없을까? 구글링을 해 보니 dfs.support.append 옵션을 활용할 수 있다. 이 옵션이 true 일 경우 좀 더 간편한 반면, false라면 좀 복잡하긴 하나 가능은 하다. 두 가지 경우에 대해서 테스트를 진행해보자. 1. dfs.support.append 속성이 true 인 경우 먼저 hdfs-site.xml에 아래와 같이 설정하자. dfs.support.append true 그리고 아래와 같이 Util 클래스를 하나 만들었다. /** * HDFS 내 파일에 데이터 작성 * @param hd.. 2015. 5. 20.
Custom Sink 만들어보기 Flume Custom Sink로 Mongo Sink를 한 번 만들어보자. 1. 단일 건별 Sink 처리 public class MongoSingleSink extends AbstractSink implements Configurable { private static final Log LOG = LogFactory.getLog(MongoSingleSink.class); private String host; private int port; private String dbName; private Mongo mongo; private DB db; @Override public synchronized void start() { try { mongo = new MongoClient(host, port); db =.. 2015. 5. 12.
Sqoop 을 이용하여 Oracle에서 HDFS로 데이터를 전송할 때 Hdfs내에 파일명 지정이 가능할까? Sqoop2 를 이용해서 Oracle to HDFS 로 데이터를 전송할 때, HDFS 파일이 생성된다. 이 때 파일명은 sequene 하게 만들어지는 듯 한데. 이를 원하는 파일명 하나로 생성할 수 있을까? 일단 Job을 하나 생성해서 돌려보면 아래와 같이 파일이 생성된다. (아래 예제는 uMON WKLOG_USER 테이블의 하루치 데이터를 옮긴 것이다.) sqoop-connector-hdfs 컴포넌트에서 관련 코드를 확인이 가능하다. HdfsConnector 관련 클래스는 위와 같다. 실제로 HdfsWriter 클래스들이 HDFS 파일을 쓰게되며, 그 filename은 HdfsLoader에서 결정한다. 코드를 상세히 살펴보자. HdfsTestWriter @Override public void initi.. 2015. 4. 28.