전체 글 56

[Docker] Jupyter에 가상환경 kernel 추가하기

도커 컨테이너를 활용해, jupyter를 포트포워딩해서 띄운 경우, 다른 가상환경에 설치된 모듈을 이용한 개발이 필요할 때가 있다. 이런 경우, 우선 터미널창에서 가상환경을 실행해보자. (나 같은 경우에는 airflowenv 라는 가상환경을 기존에 가지고 있었다.) # 가상환경 실행 source ~/[나의 가상환경 이름]/bin/activate source ~/airflowenv/bin/activate # ipykernel 설치 pip install ipykernel # 커널 실행 python -m ipykernel install --user --name [나의 가상환경 이름] --display-name [Jupyter 커널에 표기하고자 하는 이름] python -m ipykernel install --..

[SQL] String 을 Date 형으로 변환

value가 string 으로 구성되어 있는 데이터를 Date 형으로 처리하고 싶은 경우가 있다. 아래의 그림과 같이, 해당 value는 Month'year 형식으로 되어있는데, 우리가 익히 알고 있는 full date(YYYYMMDD) 로 변경해보고자 한다. string 자체를 substr, concat을 이용해 yyyymmdd string 형식으로 만들고, date type으로 포맷팅하는 방법은 아래와 같다. SELECT AA.string_date, STR_TO_DATE(AA.full_date, '%Y%m%d') AS full_date FROM ( SELECT CONCAT( '20', substr(string_date,5,6), case when substr(string_date,1,3) = 'Jan..

[bigQuery] 파이썬 script를 이용한 빅쿼리 모듈 설치 에러 해결

from google.cloud import bigquery from google.oauth2 import service_account google bigquery 계정에 접근 허용 및 빅쿼리 추출을 하기 위한 모듈이 필요하다. pip install google 을 이용한 모듈 설치는 완료하였으나, 아래 그림과 같이 모듈이 로드되지 않는 문제가 지속적으로 발생할 것이다. 이 때 아래의 모듈들을 순서대로 설치하고 다시 모듈을 로드해보자. 정상적으로 작동할 것이다. pip install --upgrade google-cloud-bigquery pip install google-cloud-bigquery-storage pip install --upgrade google-cloud pip install --up..

Database/BigQuery 2022.11.26

[R] 리눅스환경에서 R 패키지 설치시, linux ssl 관련 에러 해결

R을 windows 환경에서 개발 및 분석하다가, 부득이하게 linux 환경으로 갈아타야되는 경우가 종종 있을 것이다. 그때, 기존에 사용하던 version 의 R package를 설치할 때 linux ssl lazy loading ... error를 직면하게 될 것이다. 그렇다면, 아래의 명령을 실행해보고, package install을 다시 해보도록 하자. 정상적으로 package 설치가 완료될 것이다. apt-get install libcurl4-openssl-dev r-base -y apt-get install libxml2-dev apt-get install libssl-dev apt-get install -y libmysqlclient-dev apt-get install libcurl4-ope..

[Airflow] Dags 관리(예제 Dags 삭제 및 Dags 경로 설정)

# 1. 예제 Dags 삭제하기 초기 Airflow setting이 된 시점부터, 여러 예제 Dags가 있는 것을 확인할 수 있다. 하지만 예제는 참고용일 뿐, 실제 내가 구성한 Dags만 남겨놓고 싶기에, 예제 Dags를 우선 삭제해보자. 삭제는 간단하다. airflow.cfg 파일을 열어 변경해주면 된다. https://dtstory.tistory.com/25 를 참고 하였다면, airflow.cfg 파일은 /root/airflow/ 경로에 있을 것이다. vim /root/airflow/airflow.cfg 명령으로 edit 모드로 진입해보자. 그 후, load_examples = True 라고 되어 있는 부분을 아래 그림과 같이 load_examples = False로 수정해보자 # 2. Dags ..

[Airflow] Devops 환경 구축 (R+Python+Airflow+ssh)

개발 및 분석 용도로 구성한 스크립트들을 스케줄링하여 주기적으로 실행되고 운영이 될 수 있는 환경을 Docker Container 내에서 할 수 있도록 만들어 보자. # 1. python을 사용하기 위한 jupyter docker container 실행 docker run -it -p 34888:8888 -p 34222:22 -p 34787:8787 -p 34080:8080 \ -v mount_vol:/mypath/mount_vol/ --name dtstory -e ROOT=TRUE -e PASSWORD=password tensorflow/tensorflow:latest-jupyter 참고로 해당 컨테이너 리눅스 배포판은 다음과 같다. 배포판 : Ubuntu 20.04.5 LTS \n \l -> ip:3..

[R] Rstudio에서 GCP 빅쿼리 쓰고 읽기(GCP 빅쿼리 + R)

R로 빅쿼리를 읽는 레퍼런스는 참 많았지만, 이것을 빅쿼리에 적재하는 소스는 찾기가 힘들었다. 그런데, 방법이 의외로 간단했다. MariaDB에 연결해서, DB에 데이터를 쌓는 느낌으로 하면 되는 것이었다. 백문이 불여일견이라고.. 무작정 한번 진행해보자. # 1. Authentication GCP 서비스계정의 JSON키를 service_key라는 변수에 할당한 후, bq_auth를 통해 빅쿼리 권한 인증을 진행하자. service_key = dir("../../config/serviceAccountKey/")[1] bq_auth(path = paste0("../../config/serviceAccountKey/",service_key)) # 2. GCP 콘솔 프로젝트명과 데이터셋명, billing 주소..