기존 우리 데이터 파이프라인은 Spark SQL을 통해 배치 작업을 수행하였다. 2023 연초 기존 자체 배포판 Hadoop에서 Cloudera의 배포판으로 넘어가면서 배치 작업들을 Impala로 전환하였다. Impala와 Spark 모두 Hadoop 환경에서 쓸 수
미리 설계해둔 DB를 불러와 Django 백엔드를 짜던 중이었다.django에서는 inspectdb를 지원하여 알아서 db를 inspect하여 모델 코드로 바꿔주는 기능이 있다. 그걸 이용해서 모델을 불러들였다.DB를 배우다 보면 M:N 관계에서 위와 같이 관계를 나타
ALB에서 http 리스너에 https로 리다이렉션을 걸어주었다.그러나 https로 접속하면 정상 작동했고 http로 접속해도 정상 작동하는 현상이 벌어졌다.https로 리다이렉션이 안 되는 것이었다.문제를 파악하기 위해 http 리스너의 설정을 만져보니 리다이렉션만
windows의 IPython 환경(jupyter notebook, spyder)에서는 멀티 프로세싱이 제대로 동작하지 않는다.Interactive 환경이 편하긴 하지만 멀티프로세싱이 필요한 경우 다른 환경을 이용하는 것이 좋다. 아니면 리눅스 같은 타 os의 환경을
약 14만 건의 데이터를 외부 api에서 python을 통해 postgresql로 넘기는 코드를 작성했었다.psycopg 라이브러리를 사용하여 작성하였는데 단순하게 14만 건을 반복하며 insert문을 db로 쏘니 100초라는 매우 긴 시간이 소요되었다.이를 줄이기 위
가능한 경우의 수를 모두 시도함 \- 단순 Brute-Force \- 비트마스크(Bitmask) \- 재귀 함수 \- 순열 (Permutation) \- BFS / DFS당연하게도 느리지만 반드시 답을 구할 수 있으며 주어진 데이터의 크기가 작을 때 사용함문제를 여러
vagrant를 이용해서 k8s 사용 중 ssh 접속이 계속 멈추는 일이 발생했다.머신 전체가 멈췄나 싶어 virtualbox를 확인하였더니 로그에 enp0s3 reset adaptor가 ssh가 멈출 때마다 발생하는 것이었다.구글링 결과 기본 설정으로 네트워크 어댑터
다중프로그래밍 Multi-programming 여러 개의 프로세스가 시스템 내에 존재 한정된 자원을 할당 할 프로세스를 선택할 스케줄링 필요 자원 관리 시분할 Time Sharing 관리 하나의 자원을 여러 스레드들이 번갈아 가며 사용 예) 프로세서 스케줄링
스레드 Thread 프로세스의 두 특성(자원, 제어) => 제어 부분만 분리한 실행 단위 프로세서 활용의 기본 단위 PCB처럼 TCB를 가짐 스레드들은 프로세스의 자원(코드, 전역 데이터, 힙 등)을 공유함 스레드 실행 환경 정보(Stack Pointer, Progra
예상치 못한 외부에서 발생한 이벤트I/O interrupt: I/O 동작 입력 시 발생Clock interrupt: CPU 클럭에 따라 현재 프로세스가 타임아웃일 경우 발생Console interruptProgram check interruptMachine check
프로세스의 상태는 자원 간의 상호작용에 의해 결정됨Job을 커널에 등록한 상태PCB가 할당되고 프로세스가 생성됨이 단계에서 커널은 가용 메모리를 체크하여 ready나 suspended ready 상태로 전이시킴메모리가 할당된 상태Swap-out(suspended): 메