Apache Beam 프로젝트

이 페이지에는 Google Season of Docs에 선정된 기술 문서 프로젝트의 세부정보가 포함되어 있습니다.

프로젝트 요약

오픈소스 조직:
Apache Beam
기술 문서 작성자:
스루티 스리 쿠마르
프로젝트 이름:
실행자 비교 페이지 / 기능 매트릭스 업데이트
프로젝트 길이:
표준 기간 (3개월)

Project description

Apache Beam은 일괄 및 스트림 처리 파이프라인을 모두 정의할 수 있는 통합 플랫폼입니다. Apache Beam을 사용하면 특정 데이터 처리 플랫폼과 관계없이 데이터 세트를 표현하고 변환하는 모델을 정의할 수 있습니다. 정의한 후에는 Apache Apex, Apache Flink, Apache Spark, Google Cloud Dataflow를 비롯하여 지원되는 모든 런타임 프레임워크 (실행자)에서 실행할 수 있습니다. 또한 Apache Beam에는 Java, Python, GO와 같은 프로그래밍 언어로 파이프라인을 작성할 수 있는 다양한 SDK가 제공됩니다.

'러너 비교 페이지/기능 매트릭스 업데이트'에서 GSOD 신청서를 제출합니다. Apache Beam은 여러 실행기와 SDK를 지원하므로 신규 사용자는 그중에서 선택할 때 혼란스러워할 수 있습니다. 현재 다양한 실행기에 관한 문서에서는 실행기에 대한 간단한 개요를 제공합니다. 특정 러너 문서 페이지에 각 러너에 관한 더 많은 이해하기 쉬운 세부정보를 추가하는 것이 좋습니다. 또한 예시 단어 수 프로젝트의 설명을 업데이트하여 자세한 설명을 추가하고 싶습니다. 이를 위해 로컬 머신에서 모든 단어 수 예시를 시도하고 누락된 단계가 있는지 확인한 후 프로세스에 관한 설명을 추가할 계획입니다. 또한 러너에 대한 문서가 패턴을 따르지 않는다는 것도 알아차렸다는 것입니다. 일부 참가자는 개요 섹션을 받았고 다른 참가자는 사용 방법, 전제 조건 또는 무작위 제목으로 시작합니다. 하나의 간단한 패턴을 따르도록 모두 업데이트하겠습니다.

각 러너를 설명하고 각 러너에 대한 설명을 제공하는 새 페이지를 추가할 계획입니다[BEAM-3220]. 이 페이지에서 사용자는 각 러너의 세부 설명 페이지와 기능 매트릭스로 리디렉션할 수 있습니다. 또한 각 런너에 관한 설명 비교를 여기에 추가할 계획입니다. 현재 석사학위 논문의 Flink 실행기 벤치마킹에 Beam NEXMark를 사용하고 있습니다. NEXMark 벤치마킹을 잘 알고 있으므로 여기에서 일괄 모드와 스트리밍 모드에서 각 러너의 벤치마킹 결과를 포함하고자 합니다(BEAM-2944). 매개변수/구성이 누락되거나 삭제된 경우 NEXMark 문서도 업데이트합니다. 이전에 Flink 런너를 사용할 때 문서에 매개변수 중 하나가 누락되어 처음에 문제가 발생했습니다. 하지만 이제 NEXMark 코드베이스도 더 잘 알게 되었으므로 런너를 벤치마킹하고 측정항목을 추가하는 것이 더 쉬워질 것입니다. 이 페이지에 각 러너의 프로덕션 준비 상태에 관한 간단한 요약을 포함하고자 합니다.

현재 문서에서는 기존/이동식 러너 지원이 각 러너 설명 페이지에 포함되어 있습니다. 기능 매트릭스 또는 새로 추가된 설명 페이지에 모두 표시하는 것이 좋습니다. 또한 현재 이식성 지원은 호환성 매트릭스에 병합하고 싶은 별도의 Google 시트(https://docs.google.com/spreadsheets/d/1KDa_FGn1ShjomGd-UUDOhuh2q73de2tPz6BqHpzqvNI/edit#gid=0)에서 유지되고 있습니다. 이 작업의 일환으로 BEAM-2888에 언급된 모든 메이저/사소한 수정사항을 포함할 계획입니다.

저는 GSoD를 오픈소스로 기여할 수 있는 기회라고 생각합니다. 앞으로도 오픈소스 프로젝트, 특히 Beam에 계속 기여하고 활발한 커뮤니티 회원으로 활동하고자 합니다. Apache Beam에는 지속적인 기능이 개발되고 있는 활발한 커뮤니티가 있기 때문에 문서를 업데이트하기 위해 문서를 개선할 여지가 항상 있다고 생각합니다. 또한 개발 작업에도 참여하고 싶습니다. Beam에 대한 지식이 충분하다면 Beam을 시작할 때 항상 커뮤니티에서 도움을 받았기 때문에 사용자 커뮤니티에도 도움을 줄 수 있습니다.

다음과 같은 이유로 이 프로젝트에 적합한 인재라고 생각합니다.

  1. 저는 데이터 처리 시스템의 내부 작동 방식을 이해하려는 분산 시스템 애호가입니다.
  2. Apache Beam과 Apache Flink를 사용한 경험이 있습니다.
  3. 개발자로서 Apache Beam 및 Apache Flink 코드베이스를 이미 이해하고 있습니다.
  4. 다양한 빔 러너를 비교하는 프로젝트를 진행했습니다.
  5. 빅데이터 처리 및 분산 시스템의 개념을 설명하는 기술 블로그를 작성한 경험이 있습니다.
  6. 현재 Apache Flink 상태 백엔드의 성능을 개선하기 위한 석사학위 논문을 작성하고 있으며, 벤치마킹을 위해 Apache Beam NEXMark 구현을 사용하고 Apache Beam 문서 업데이트에 기여했습니다.
  7. 소프트웨어 개발자로 4년간 일한 경험이 있으므로 여러 기술 설계 문서와 제품 문서, 리드미 파일(현재는 액세스할 수 없음)을 작성했습니다.
  8. 저는 이전 지식이 없는 사용자도 한눈에 이해할 수 있도록 문서를 작성합니다.