• 티스토리 홈
  • 프로필사진
    31514
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
31514
  • 프로필사진
    31514
    • 분류 전체보기 (106)
      • Book (66)
        • Learning SQL (9)
        • SQL 레벨업 (8)
        • 견고한 데이터 엔지니어링 (5)
        • 운영체제 (2)
        • 스파크 완벽 가이드 (9)
        • 파이썬 코딩의 기술 (29)
        • 분산 컴퓨팅 (4)
      • 개발 (24)
      • 기타 (10)
        • 출퇴근 공부 간단 정리 (7)
      • ELK (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
      • 31514의 이전 블로그는 여기로!
      등록된 공지가 없습니다.
    # Home
    # 공지사항
    #
    # 태그
    # 검색결과
    # 방명록
    • Airflow 컨테이너를 새로운 우분투 유저로 올리면서 생긴 일
      31514:
      우분투 서버에 새로운 유저를 만들고, Airflow 컨테이너를 올리는 과정에 겪은 문제를 기록합니다. rootless-docker를 사용했고, 유저명은 niscom입니다. 먼저 Airflow 공식 홈페이지에서 docker-compose.yaml 파일을 다운로드 받습니다. 저는 2.9.1 버전을 선택했고, Playwright 라이브러리를 사용해야 했기 때문에 `build .` 주석 처리를 해제합니다. Airflow docker-compose.yaml 파일을 살펴보면 user와 관련된 설정이 있는데, Airflow UID:GID로 구성되어 있습니다. 새로운 유저로 아무런 설정 없이 `docker compose up -d`를 실행하면 다음과 같은 오류가 발생합니다. airflow-scheduler-1 | P..
      • 2025-05-12 20:51:53
    • 포스트글 썸네일 이미지
      DB Lock을 처음 경험한 날
      31514:
      나의 업무 중에 특정 CSV 파일을 읽어, 데이터를 파싱하고 테이블에 풀리프레쉬 방식으로 삽입하는 작업이 있다.백엔드 개발자의 요청으로 해당 스크립트를 실행했는데, 데드락에 걸리는 상황이 발생했다. 일단 원인은 나의 스크립트 안에 테이블을 삭제하고 다시 생성하는 코드가 포함되어 있는데, 이 타이밍에 백엔드 개발자가 데이터를 조회했기 때문에 락(Lock)이 발생했다. 위 이미지는 `t_pole_image`라는 테이블에 `AccessExclusiveLock`이 걸린 모습이다.`AccessExclusiveLock`은 가장 강력한 테이블 락(Lock)으로, 해당 테이블의 모든 작업을 차단한다.빨간색 박스 안에 있는 두 줄을 살펴보면, 하나의 세션에서는 `AccessExclusiveLock`을 획득(`grante..
      • 2025-03-18 12:02:58
    • LATERAL JOIN에 대해 알아보자.
      31514:
      LATERAL JOIN은 SQL에서 제공하는 강력한 쿼리 기능으로, 일반적인 JOIN과는 다르게 작동한다.LATERAL JOIN의 특징은 오른쪽 테이블이 왼쪽 테이블의 각 행을 참조할 수 있다는 점이다.파이썬 코드로 표현하면 다음과 같다.for row1 in 왼쪽_테이블: for row2 in 오른쪽_테이블: # 작업 SQL 쿼리문은 다음과 같이 작성되는데, 일반 JOIN문과 달리 ON 조건이 없는 것을 확인할 수 있다.-- 왼쪽 테이블 당 매칭되는 오른쪽 테이블의 행을 3개씩만 가져오고 싶은 경우SELECT *FROM 왼쪽 테이블 leftCROSS JOIN LATERAL ( SELECT * FROM 오른쪽 테이블 WHERE 특정 조건 LIMIT 3) right; ..
      • 2025-03-17 17:56:28
    • SQLAlchemy와 psycopg2 중 어느 것을 사용할까?
      31514:
      Pandas 데이터프레임을 Postgres 테이블에 적재하는 작업을 하면서 고민했던 내용에 대해 정리한 글이다.데이터프레임을 Postgres 테이블에 적재하는 방법에는 여러 가지가 있지만, 그 중에서도 SQLAlchemy 라이브러리와 psycopg2 드라이버를 비교하려고 한다. SQLAlchemySQLAlchemy는 ORM이자 DB API 역할을 하는 라이브러리이며, `create_engine()`을 사용하여 데이터베이스 연결을 관리한다.Connection Pool을 관리하여 재사용 가능한 DB 연결을 제공하고, `pandas.to_sql()`을 사용하여 데이터프레임을 테이블에 쉽게 적재할 수 있다.하지만 ORM이기 때문에 직접 SQL을 실행하는 psycopg2보다 다소 느릴 수 있다.  psycopg2..
      • 2025-03-06 14:45:37
    • Pandas의 벡터 연산
      31514:
      최근에 회사에서 ETL 작업을 수행하면서, DB에 있는 테이블을 불러와 변환 작업을 한 뒤 새로운 테이블에 적재하는 일을 진행했다.변환 작업은 Pandas를 사용했고, 이 과정에서 성능 향상을 고민하면서 알게된 벡터 연산에 대해 정리하려고 한다. 데이터프레임을 다룰 때 여러 가지 방법이 존재한다.`for문`, `iterrows()` 메서드, `apply()` 메서드와 같이 레코드를 하나씩 다루는 방법과 벡터와 같이 모든 레코드를 한 번에 다루는 방법이 있다.당연하게도 처리 속도 측면에서 벡터 연산이 우월하며, `for문`, `iterrows()`, `apply()` 중에서는 `apply()`가 가장 빠르다. 레코드를 하나씩 다루는 방법을 스칼라라고 하는데, 다음과 같은 특징을 가지고 있다.`for문` :..
      • 2025-03-06 14:32:55
    • [Shorts] 컴파일러 & 링커
      31514:
      컴파일러컴파일러는 구문 분석을 통해 문자열로 이루어진 코드를 기계어로 변환함구분 분석은 의미 분석 -> 중간 코드 -> 어셈블리어 -> 기계어의 과정을 거침위 과정을 거치면 객체 파일(object file)이 생성됨 링커링커는 컴파일러가 생성한 여러 객체 파일을 묶어서 실행 파일을 생성함이 외에도 심벌 해석과 재배치도 진행함
      • 2025-02-25 09:35:16
    • [Shorts] 프로그래밍 언어의 탄생
      31514:
      천공에 구멍을 뚫어 CPU의 언어로 코드를 작성함기계어를 인간이 이해할 수 있는 단어와 대응시켜 어셈블리어를 만듦인간의 추상적인 표현을 기계가 자동으로 인식할 수 있도록 하기 위해서 조건문, 반복문, 구문, 함수 등과 재귀 + 트리 구조를 사용하여 컴파일러를 만듦서로 다른 기계어를 인식하는 CPU들을 위해 가상 머신(인터프리터)를 만들어서 영어와 같이 표준을 만듦
      • 2025-02-24 08:43:45
    • [Elasticsearch] 백업 설정하기
      31514:
      최근에 개인적으로 진행하고 있는 팀 프로젝트에서 사용하는 Elasticsearch의 모든 인덱스가 알 수 없는 이유로 모두 삭제되었다.다행히 복구할 수 있는 방법을 찾게 되었지만, snapshot을 활용하여 복구할 수 없어서 불편한 경험을 했다. 이번 기회에 데이터 스토리지 복구에 대한 중요성을 몸소 깨닫고, elasticsearch의 스냅샷 설정에 대해 적어두려고 한다.단, 내가 사용하고 있는 elasticsearch 서버는 도커로 운영되지 않음을 밝힌다. snapshot 파일 저장 경로 설정파일 저장 경로 생성`sudo mkdir -p /mnt/elasticsearch-backup` 권한 할당`sudo chown -R elasticsearch:elasticsearch /mnt/elasticsearch..
      • 2025-02-18 13:42:38
    조회된 결과가 없습니다.
    [1][2][3][4][···][14]
    스킨 업데이트 안내
    현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
    ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
    목차
    표시할 목차가 없습니다.
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바