코드와 함수 이름이 직관적이어서 읽는 사람들에게 목적을 명확하게 전달해야 합니다.
파이썬 네이밍 규칙과 직관적인 변수 이름을 사용하여 이해를 용이하게 해야 합니다.
다양한 입력 값을 받을 수 있도록 유연성을 가져야 합니다.
입력 매개변수와 반환 값에 대한 파이썬 타입 힌트를 제공해야 합니다.
잘못된 입력 값에 대해 파이썬 예외 (ValueError 등)를 발생시켜야 합니다.
명확한 설명이나 소스 자료의 URL과 함께 문서 문자열(docstring)을 가져야 합니다.
유효한 및 잘못된 입력 값 모두를 테스트하는 문서 테스트(doctest)를 포함해야 합니다.
계산 결과를 인쇄하거나 플로팅하는 대신에 모든 계산 결과를 반환해야 합니다.
https://byj1009.github.io/python/2023/07/25/structured_streaming.html
Kerberos 보안 설정이 적용이 된 Kafka to Kudu, Spark Structured Streaming을 테스트 이후, Hadoop Ecosystem의 TCP 통신 Layer에 SSL/TLS 보안이 설정되어 있는 경우를 테스트했던 내용을 정리해 본다.
테스트를 위해서 RootCA와 Host Certs를 Selfsigned로 구성했고, Cloudera Data Platform ~Opensource Apache 서비스로 구축하였을 때는 동일한 조건인지는 모르겠다.~ 에서 모든 서비스에 사용가능한 JKS 방식의 Truststore를 사용해 구축했다.
해당 Spark 관련 설정은 Cloudera Data Platform 기반의 환경에서 테스트 되었으며, 기본적으로 YARN을 통한 Spark Applcation의 리소스를 관리한다. 추가적으로, YARN / Mesos / Standalone Cluster Manager / Kubernetes 통한 리소스 관리가 가능하다.
https://byj1009.github.io/python/2023/07/25/python-kafka2.html
python이 아닌 CDC를 위한 데이터 파이프라인(spark, flink, redis, …) 중 Spark Structured Streaming을 통해 구현을 해보고자 한다.
앞서 Python을 통해 구현했던 것과 같이 Kerberos 보안 정책이 적용된 환경이며, 빅데이터 플랫폼은 Cloudera 기반으로 구축되었다.
추가적으로, Structured Streaming은 Spark3부터 지원하므로 Cloudera Data Flatform에 추가 서비스 설치 작업이 필요하다.
https://byj1009.github.io/python/2023/07/19/python-kafka.html 에서 만든 CDC 예제 데이터를 활용한 kudu table 실시간(?) CDC를 구현했던 코드를 정리해본다.
Cloudera Data Platform을 활용해서 빅데이터 플랫폼이 구축이 되어 있으며, python3.6.4 버전을 사용했기 때문에 제약이 많았다.