본문 바로가기

분류 전체보기4

AWS EMR 클러스터 생성 가이드 EMR 서비스 검색 및 클릭 서비스 검색창에 EMR 검색 후 서비스 클릭 클러스터 생성 클러스터 생성 버튼 클릭 클러스터 생성 — 고급 옵션으로 이동 고급 옵션으로 이동 클릭 빠른 옵션보다 세부적인 설정을 하는 것이 가능함 단계 1 : 소프트웨어 및 단계 릴리스 : EMR 버전 선택 Hadoop Ecosystem 구성 요소 중 설치하고자 하는 서비스에 해당하는 체크박스 선택 버전 체크 필요 여러 마스터 노드 (선택 사항) 체크박스 선택 시 마스터노드 3대 가용 AWS Glue 데이터 카탈로그 설정 (선택 사항) 체크박스 선택 시 해당 소프트웨어가 AWS Glue 데이터 카탈로그를 Hive 메타스토어로서 사용 가능 모든 단계 (선택 사항) Concurrency : 체크박스 선택 시 단계 (step)을 동시.. 2023. 7. 10.
Amazon Linux 2 Airflow 2.4 설치 가이드 (KOR) 1. Private Instance 생성 Airflow가 설치될 EC2를 Private Subnet에 생성한다 인스턴스 사이즈의 경우 공식 문서에 명시된 Airflow 실행에 필요한 최소 메모리는 4GB이기 때문에 적당한 사이즈로 선택 (본 가이드에서는 t3.medium으로 진행) 보안 그룹 Inbound Rule Bastion으로부터의 SSH 22번 포트 Bastion으로부터의 Web Server로 사용할 포트 (default는 8080) Tunneling 하여 접속 (22) 2. Airflow 2.4 설치 파이썬 3.0 pip 설치 yum update / pip3 install sudo yum update -y sudo yum install -y python3-pip Airflow 2.4 설치 air.. 2023. 7. 10.
AWS Glue JDBC 병렬 처리 성능 테스트 0. Prerequisites 테스트 배경 ⇒ 고객사에 AWS Glue Job을 사용하여 데이터 서비스를 딜리버리함에 있어 발생한 비용 및 성능 비효율성을 개선하고자 함 발생한 비효율성과 해결 방안 On-Premise Oracle Database 테이블에서 AWS Glue JDBC connector를 사용하여 값을 가져와 S3에 적재하는 Glue Job을 수행했으나 테이블 크기가 크지 않음에도 약 2일간 Job이 돌아가다가 Job이 Fail되는 상황이 발생하여 상당한 비용의 손실과 작업 일정에 차질이 발생하였다 AWS Glue는 Job 실행 시 할당한 worker 유형 및 수와 Job이 수행된 시간 만큼이 DPU (Data Processing Units)라는 청구 단위로 계산되어 부과된다 (성공 / 실패.. 2023. 7. 10.
파이썬 중첩 함수와 자유 변수 (Python Nested Function & Free Variables) 함수형 프로그래밍을 위해 파이썬 클로저(Closure)를 공부하다 보면 함수가 중첩으로 선언되는 경우(Nested Function) 변수가 할당되고 인식되는 방식에 대한 의문이 생길 수 있습니다. 아래 코드를 먼저 보겠습니다. 예제 1 def closure_example(): cnt = 0 total = 0 def get_average(v): cnt += 1 total += v return total / cnt return get_average avg_closure = closure_example() 위 코드는 호출될 때마다 이전까지 전달된 모든 인수의 평균을 구하여 반환하는 클로저를 정의하고자 closure_example 함수를 선언한 후 변수 avg_closure에 할당하는 코드입니다. 하지만 실제로.. 2023. 7. 10.