빅 데이터 분석을 위해서는 당연히 입력 데이터가 있어야 한다. 그리고 과연 빅 데이터에서 입력 데이터라는 것은 무엇인지에 대한 것도 정리가 필요할 듯 하다. 데이터 수집 하둡의 배치 처리가 아무리 훌륭하고, 클러스터의 규모가 아무리 크다고 해도 일단 데이터가 하둡의 파일시스템 (HDFS) 에 저장되어 있어야 하며, 실 시간으로 처리를 하고 싶어도 처리할 데이터가 원하는 시간 내에 실 시간 처리 프로세서로 전달되지 않으면 아무 소용도 없다. 분석에 필요한 데이터가 데이터베이스에 저장되어 있었다면 분석 용도에 맞게 데이터를 가공 처리하거나 변환 작업등의 분석 업무를 수행할 수 있겠지만, 데이터가 파일 시스템으로 저장되어 있다면 데이터의 포맷이나 형식이 상이하기 때문에 원하는 데이터 형태로 변환하고 처리하는 프로그램을 직업 구현하거나 다양한 도구들을 이용해서 사전 작업을 한 후에 데이터베이스에 적재하는 작업이 필요하다. (즉, 비 정형 데이터를 정형화 데이터로 처리하는 과정이 필요하다는 의미) 위와 같은 작업도 데이터들이 동일한 시스템에 있다면 다행이겠지만, 분석 대상이 될 데이터들이 서로 다른 별도의 시스템에 존재한다면, 이 데이터들을 가져오기 위한 데이터 수집 과정이 필요하다. 대량의 데이터라면 HTTP 나 별도의 전송 프로그램을 쓸 수도 있겠지만, 대부분은 FTP 들을 사용하는 경우가 많다. 보안 문제가 있다면 SFTP 를 이용하면 되지만 FTP라는 것이 트랜잭션을 지원하지 않기 때문에 데이터가 정확하게 주고 받아진 것인지를 확인하기가 어렵다는 단점이 존재한다. 따라서 전송할 때는 전송의 완료여부를 검증하기 위해서 데이터 파일 뿐만 아니라 체크 파일도 같이 전송하는 방법을 쓰게 된다. 이런 문제들을 해결하기 위한 솔루션들로는 IBM의 MQ File Transfer Edition 과 같은 것들이 있다. ( 참고자료 ) 현실적으로는 여러 개의 시스템과 연동해서 데이터를 가져오는 것이 문제가 아니라 시스템들에 연동되는 API 나 인터페이스들을 ...