2014-04-09 2 views
1

사용자 정보, 사용자 세부 정보 등을 사용자가 만들 수있는 제품이 있습니다.이 제품/웹 응용 프로그램은 주로 봄에 개발되고 최대 절전 모드입니다.스프링 배치 대 ETL 프로세스

이제 회사에 제품을 판매 할 때 사용자 및 회사에로드 할 대량로드 도구를 찾고 있습니다.

이 경우 스프링 배치를 사용할 수 있습니까 (스프링 배치는 사용하지 않았지만 그것에 대해 들었습니다)? 왜냐하면 내가 이미 내 애플리케이션에서 Spring을 사용하고 있었기 때문에 벌크로드에 대해서도 동일한 코딩 로직을 구현할 수 있기 때문이다.

아니면 Pentaho 또는 informatica와 같은 ETL 도구를 사용해야합니까? 이 경우 필자는 Pentaho 또는 informatica로 이동하기 위해 비즈니스 로직 구현 코드 &을 복제해야합니다. 핵심 제품의 로직을 변경하려면 여기서도해야합니다.

어떤 접근 방식이 좋고 가장 좋은 방법이 있습니까?

내 아이디어는 사용자 목록과 회사 목록이있는 파일을 출력하는 것이고 Spring 배치 또는 Pentaho 주전자는 입력으로 처리하여 데이터를 처리하고 DB에 저장하고 제출 된 레코드 수를 알려줍니다. 성공하고 실패했습니다.

좋은 접근 방법과 그 이유는 무엇입니까?

+2

http://forum.spring.io/forum/spring-projects/batch/62803-batch-vs-etl –

답변

3

나는 두 기술을 모두 시도 했으므로 pentaho ETL을 사용하는 IMHO는 단계를 끌어다 놓고 입력 출력과 처리를 구성하기 만하면 훨씬 빠릅니다. ETL에 대해서는 스프링보다 교육이 덜 필요합니다. 일괄. 나는 자바 개발자 자신과 나는 유사한 요구 사항을 언젠가 되돌리기 위해 pentaho 주전자 (ETL 도구)를 사용했고, 지금은 유사한 작업을위한 스프링 배치 작업을하고 있으며 주전자에서 10 분이 걸리는 작업은 구현하는 동안 두 기술에 새로운 것이 었습니다. 다른 사람을 위해 도움이 될 수 여기에 좋은 링크를 붙여 넣기

6

나는 직장에서 스프링 배치를 사용하고 있으며 어떤 ETL 도구에 대한 경험이 없기 때문에 편향되어있다. 그러나, 나는 당신이 당신 자신의 질문에 거의 대답했다고 생각합니다.

당신은 Spring Batch를 사용하여 기존 비즈니스 로직을 재사용 할 수 있으며 (이것만으로도 충분하다) 요약 통계를 얻을 수있다. 스프링은 기본적으로이 기능을 가지고있다. 독점적 인 ETL 소프트웨어의 개발자보다 Java 개발자를 찾고, 채용하고, 훈련시키는 것이 훨씬 쉬울 것이라는 의견도 있습니다.

유일한 단점은 유용하기 위해 프레임 워크를 확장해야한다는 것입니다. 예를 들어, JSON을받는 경우 현재 JSON을 지원하지 않습니다.

3

:

http://www.coderanch.com/t/579152/Spring/Spring-Batch-ETL

스프링 배치는 당신을 위해 구문 분석하지 않습니다. 파일, 프로세스, 유효성 검사 등을 수신해야합니다. 폴더/디렉토리의 파일 수신시 자동 트리거링을위한 ESB ESB도 살펴보십시오.

또한 ETL의 경우 Talend를 참조하십시오. 오픈 소스이므로 모든 종류의 파일을 변환 할 수 있습니다.

꽤 큰 질문 http://forum.spring.io/forum/spring-projects/batch/62803-batch-vs-etl

, 하나 내가 꽤 오래했다 및 이전에 대한 논의를 장기화하고, 단단하고 빠른 규칙이 없다했습니다. I 은 ETL 전문가라고 주장하지 않지만 Datastage와 같은 ETL 공간의 큰 총인 에 익숙했습니다. 쉬운 일이지만 Java Batch 처리는 비슷합니다. (읽기/처리/쓰기와 비슷한 ETL 주장은 입니다.) 일반적으로 BI 시나리오에서 사용되는 것을 보았습니다. 실제로 재스퍼 사이트를 살펴보면 전체 BI 스택의 구성 요소이며 다른 많은 ETL 제공 업체가 동일합니다. 나는 데이터 웨어 하우징 시나리오에서 많이 사용되는 것을 알고 있으며, 꽤 잘 작동한다. 대량 이동과 데이터 변환은 입니다. 사이에 복잡한 비즈니스 로직을 적용하려고 할 때 문제가있는 곳은 입니다. 나는 여기 종교 토론의 모든 종류를 시작하고 싶지 않아, 이건 내 경험되었습니다. ETL 도구는 바로 그 도구입니다. 거의 종기가 패키지로 나뉘어져 어떤 방식 으로든 커스텀으로 진행되고 있는데, 이는 논란의 여지가 있습니다. 을 전혀 원하지 않습니다. 그러나 Java 개발자가 가득한 회사 인 과 비즈니스 로직의 상당 부분이 이미 웹에 통합되거나 또는 통합과 같은 다른 응용 스타일을 위해 Java로 작성된 경우 많은 의미를 갖도록 같은 기술. ETL 도구 은 유용성 측면에서 먼 길을왔다. 그러나 그들은 아직도 상당히 크고 복잡한 도구이고 그들을 효과적으로 사용하기 위해 학습하는 것은 어느 정도 을 필요로한다. 나는 Spring Batch를 배울 시간이 정확히 0이 아니라 이 아니라는 것을 알고있다. 그러나 자바 프레임 워크에서 자바를 사용하는 사람이 보다 더 잘 가고있다. 도구를 사용하면 코드를 작성하는 경향이 있습니다. ETL은 일반적으로 무료가 아니기 때문에 비용 문제 이 자주 등장합니다. 나는 거기에 알으십시오. 일부 오픈 소스 구현, 거기에 자바,하지만 난 큰 생산에서 그들을 사용하여 경험이 없었어요 환경, 그래서 내가 말할 수 없다.

포럼 게시물에 기꺼이 들어갑니다. ETL 은 특정 시나리오에서 이 사용자 지정 배치 솔루션과 겹칠 수있는 도구 상자의 확실한 도구라고 생각합니다. 을 사용할지 여부는 특정 시나리오에 대한 많은 요소에 따라 결정됩니다.

+0

이 링크가 질문에 대답 할 수도 있지만 답변의 필수 부분을 포함하는 것이 좋습니다 여기에 참조 용 링크를 제공하십시오. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – Phani

+0

일부 텍스트를 추가했습니다. downvote를 재고하십시오! – OhadR