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은 자바, Python, GO와 같은 프로그래밍 언어로 파이프라인을 작성할 수 있도록 다양한 SDK와 함께 제공됩니다.

'실행자 비교 페이지/기능 매트릭스 업데이트'에서 GSOD 신청서를 제출합니다. Apache Beam이 여러 실행기와 SDK를 지원하기 때문에 신규 사용자는 둘 중 무엇을 선택해야 할지 혼란스러워할 것입니다. 여러 실행기에 관한 최신 문서에서는 실행기에 관한 매우 간단한 개요를 제공합니다. 제 아이디어는 특정 실행기 문서 페이지에 각 실행기에 관한 좀 더 자세한 세부정보를 추가하는 것입니다. 또한 예시 단어 수 프로젝트의 설명을 업데이트하여 자세한 설명을 추가하고 싶습니다. 이를 위해 제 컴퓨터에서 로컬로 모든 단어 수 예를 시도하고 일부 단계가 누락되었는지 확인하고 프로세스에 대한 설명을 추가할 계획입니다. 또 다른 점은 러너를 위한 문서가 어떤 패턴도 따르지 않는다는 점입니다(일부에는 개요 섹션이 있지만 일부는 사용 방법, 전제조건 또는 임의의 제목으로 시작합니다). 단순한 패턴 하나를 따르도록 모든 템플릿을 업데이트하겠습니다.

각 실행기를 설명하는 새 페이지를 추가하고 각 실행기에 설명 내레이션[BEAM-3220]을 제공할 계획입니다. 이 페이지에서 사용자는 각 실행기 및 기능 매트릭스의 자세한 설명 페이지로 리디렉션할 수 있습니다. 또한 각 주자에 관해 설명적인 비교를 여기에 추가할 계획입니다. 현재 저는 마스터 논문에서 Flink 러너를 벤치마킹하는 데 Beam NEXMark를 사용하고 있습니다. 저는 NEXMark 벤치마킹에 대해 완전히 알고 있으므로 배치 및 스트리밍 모드 모두에서 각 실행기의 벤치마킹 결과를 여기에 포함하려고 합니다(BEAM-2944). 매개변수/구성이 누락되거나 삭제된 것을 발견하면 NEXMark 문서도 업데이트할 것입니다. Flink runner를 사용하기 전에는 문서에 매개변수 중 하나가 누락되어 처음에는 문제가 발생했습니다. 하지만 이제 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 Beam NEXMark 구현을 사용하는 Apache Flink 상태 백엔드의 성능을 개선하기 위해 마스터 논문을 작성 중이며 Apache Beam 문서 업데이트에 기여했습니다.
  7. 저는 소프트웨어 개발자로 일하면서 4년 동안 경력을 쌓았기 때문에 여러 기술 설계 문서와 제품 문서, 리드미 파일(현재는 액세스 권한이 없음)을 작성했습니다.
  8. 나는 사전 지식이 없는 사람도 한눈에 이해할 수 있도록 문서를 작성합니다.