2016-07-08 7 views
0

새 프로젝트에서 Hadoop을 사용할 것입니다. 프로젝트 개념은 다음 그림과 같습니다. enter image description here프로젝트에서 Hadoop의 실제 사용

사용자가 일부 데이터 (로그)를 생성하는 장치를 가지고 있습니다. 사용자는 장치에서 파일로 데이터를 가져 와서 web app/hadoop에 업로드 할 수 있습니다. Ruby on Rails를 사용하여 웹 애플리케이션을 만들 계획입니다.

Hadoop (HDFS, Mappers, Reducers)의 기본 사항을 알고 있지만 실제적인 방법으로 Hadoop을 사용하는 방법을 알지 못합니다. 프로젝트는 단지 개념 일뿐입니다. 먼저 몇 가지 팁을 얻은 다음 프로젝트의 구성 요소를 수집 된 팁으로 조정하고 싶습니다.

  1. 웹 응용 프로그램은 하둡과 같은 위치에 저장해야합니다에 대한

    내 주요 고려 사항

    은? (동일한 서버/클라우드/서비스 제공 업체)
  2. 파일을 업로드하는 방법? 웹 응용 프로그램 양식에 파일을 업로드 할 수 있습니까? 또는 파일 업로드를 위해 데스크톱 응용 프로그램을 만드는 것이 더 낫습니다 (가능한 파일 크기 : 100MB - 1GB)?
  3. 데스크톱 응용 프로그램 인 경우 직접 데이터를 Hadoop에 보내거나 웹 응용 프로그램을 통해 보내는 것이 좋습니다.
  4. 외부 리소스 (웹 응용 프로그램 또는 데스크톱 응용 프로그램)에서 업로드 할 수있는 유용한 프레임 워크/도구/API/리소스를 가르쳐 주시겠습니까?
  5. Hadoop 데이터를 올바르게 사용하는 방법은 무엇입니까? 사용자 파일이 Hadoop에 있다고 가정 해 봅시다. 출력 파일을 생성하는 파일 (또는 HBase에 몇 가지 데이터를 저장합니다 - 맞습니까?)에서이 파일에 Mappers 및 Reducers를 실행할 수 있음을 알고 있습니다. 이 데이터를 얻으려면 적절한 출력 파일이 필요하거나 HBase에서 "SELECT"를 얻을 수 있습니까? 맞습니까? Hadoop에 작업이 완료되면 외부 웹 앱에 정보를 보내는 트리거가 포함되어 있습니까?

이 주제의 모든 요지를 잘 알고 있습니다.

+0

왜 하둡이 필요한가요? 많은 양의 데이터가 있습니까? –

+0

Hadoop은 실시간이 아닙니다. 웹 응용 프로그램에서 HDFS (Hadoop)의 데이터를 쿼리하기는 어렵습니다. 대개 Hadoop이 처리되면 데이터를 내 보냅니다. –

+0

좋은 점은 실시간이 아니지만 지금은 문제가 아닙니다. – nicq

답변

1
  1. 동일한 컴퓨터에서 웹 응용 프로그램을 실행하지 마십시오. Hadoop 클러스터 전용 컨테이너 시스템을 사용하는 것이 더 좋습니다.
  2. HDFS (Hadoop 파일 시스템)에는 읽기 | 쓰기 API가 있습니다. 예를 들어 WebHDFS가 있습니다.
  3. 클라이언트 인증을 제대로 수행 할 수있는 방법으로 웹 응용 프로그램을 생각하는 것이 더 좋습니다.
  4. 나는 이것을 얻지 못합니다. 제 의견으로는 업로드가 쉽고 보관할 라이브러리가 필요 없습니다.
  5. HDFS에서 직접 데이터를 쿼리하지 마십시오. 나중에 다른 저장소로 내 보냅니다. 직접 사용하는 것이 큰 문제는 아닙니다. WebHDFS 만 사용하십시오.
+0

좋아요! 답변 해주셔서 감사합니다! 사용자가 파일을 업로드 할 수있는 데스크톱 응용 프로그램을 만들면이 파일을 웹 응용 프로그램을 통해 Hadoop으로 보내거나 HDFS로 직접 보내는 것이 더 낫습니까? – nicq

+0

다릅니다. 사용자에게 HDFS에 대한 직접 액세스 권한을 부여하기에 충분한 사용자를 신뢰합니까? 보통 대답은 아니오입니다. 그러나 내부 용으로 앱을 제작하는 경우 HDFS에 직접 업로드하는 것이 더 간단 할 수 있습니다. –