Hive 메타스토어 데이터베이스 초기화 중에 발생한 'Table 'CTLGS' already exists' 오류는, Hive 메타스토어 스키마 초기화 과정 중 이미 존재하는 테이블에 대한 처리를 시도할 때 발생할 수 있습니다. Error: Table 'CTLGS' already exists (state=42S01,code=1050) com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'CTLGS' already exists 에러를 확인해 보니 메타스토어 데이터베이스가 이미 일부 스키마 구조를 가지고 있었습니다. mysql> select * from CTLGS; +---------+------+--------------------------+..
Airflow의 작업자(worker) 및 트리거(triggerer) 파드가 Pending 상태에 머무는 에러가 발생하여 이를 해결하고자 합니다. Airflow 환경을 GKE 클러스터에 구축한 후, 특정 Airflow 컴포넌트들이 실행되지 않는 문제가 발생했습니다. gcloud container clusters create gke-airflow \ --machine-type e2-medium \ --num-nodes 1 \ --region "asia-northeast3" \ --min-nodes 1 \ --max-nodes 3 파드 상태를 확인했을 때, airflow-worker-0 및 airflow-triggerer-0 파드들이 Pending 상태에 머물고 있었습니다. mun_js@cloudshell:~..
테라폼으로 airflow helm차트를 배포하던 중에 에러가 발생했습니다. 에러가 발생된 소스 코드입니다. provider "kubernetes" { host = google_container_cluster.primary.endpoint token = data.google_client_config.default.access_token cluster_ca_certificate = base64decode( google_container_cluster.primary.master_auth[0].cluster_ca_certificate ) 이는 프로바이더의 host 주소가 이상하다고 나온 에러였습니다. mun_js@cloudshell:~/terraform-airflow-gke (ggke-401900)$ terra..
실무에 사용한 데이터 엔지니어링 스킬에 대한 정리내용입니다. 개인적인 기록을 위해 작성하였습니다. Trino 성능 최적화 CBO와 Cost-based Join Enumeration : CBO는 전체 쿼리 실행 계획의 최적화를 위한 것이며, Cost-based Join Enumeration은 그중에서도 특히 조인 순서 최적화에 초점을 맞춘 부분입니다 CBO (Cost-Based Optimizer) CBO는 전반적인 쿼리의 최적화를 위해 개발되었습니다. 쿼리 플랜에 포함된 여러 연산자(조인, 필터, 집계 등) 사이의 상호 작용을 고려하여 쿼리의 전체 실행 비용을 최소화하도록 설계되었습니다.테이블 통계, 칼럼 통계, 데이터 분포 등의 메타 데이터 정보를 기반으로 작동합니다. 이러한 통계 정보를 사용하여 각 연..
실무에 사용한 데이터 엔지니어링 스킬에 대한 정리내용입니다. 개인적인 기록을 위해 작성하였습니다. https://github.com/mjs1995/muse-data-engineer/blob/main/doc/Batch%20Processing/hadoop_eco.md GitHub - mjs1995/muse-data-engineer: 데이터 엔지니어 기술 정리 데이터 엔지니어 기술 정리. Contribute to mjs1995/muse-data-engineer development by creating an account on GitHub. github.com Data Ingestion Flume 플룸은 많은 양의 로그 데이터를 효율적으로 수집, 취합, 이동하기 위한 분산형 소프트웨어로 클라우데라에서 개발한 ..
Spark Streaming 관련해서 에러가 발생하였습니다. 에러는 아래 포스팅과 관련 있습니다. https://mjs1995.tistory.com/275 [Spark Streaming] py4j.protocol.Py4JJavaError: An error occurred while calling o121.start.: java.lang.IllegalStateException: Rpc spark-submit 명령어를 실행시켰을 때 아래와 같은 에러가 발생했 습니다. py4j.protocol.Py4JJavaError: An error occurred while calling o121.start. : java.lang.IllegalStateException: RpcEnv has been stopped 이 에러..
spark-submit 명령어를 실행시켰을 때 아래와 같은 에러가 발생했 습니다. py4j.protocol.Py4JJavaError: An error occurred while calling o121.start. : java.lang.IllegalStateException: RpcEnv has been stopped 이 에러는 Spark Streaming job을 실행할 때 발생할 수 있는 에러로 Spark Streaming job이 동작하는 동안 RPC (Remote Procedure Call) 환경이 멈춘 경우 발생합니다. 이 에러를 해결하려면 Spark job이 제대로 종료되지 않아서 이전 실행 중에 생성된 RPC 환경이 아직 실행 중인 경우도 있을 수 있어서 이전 Spark job을 종료하고 다시..
Error gcp의 vm에 원격연결을 하려고 했는데 Permission denied (publickey) 에러가 발생하였습니다. 이 경우 메타데이터와 ssh 키의 정보 모두 일치하였으나 연동이 안되었으며 원인은 공간 부족으로 ssh 접근이 막힌 케이스입니다. 스케일 업 스토리지 디스크 관리에서 해당 디스크를 들어간 뒤에 수정을 눌러줍니다. 그 후 스케일 업 해줍니다. 새 인스턴스 생성 스케일업이 안되면 신규 인스턴스를 생성해 줍니다. 백업을 위해 스냅샷 페이지에 들어간 뒤에 스냅샷 만들기를 클릭해 줍니다. VM 인스턴스에서 인스턴스 만들기를 클릭해 줍니다. 부팅 디스크 변경을 클릭해 주고 만들어놓은 스냅샵과 연결해 준 뒤에 인스턴스를 실행해 줍니다. Reference https://stackoverflo..