본문 바로가기

Work and Study

(6)
[Docker/R] swap 파일 때문에 wq가 안될때 컴포즈 파일등을 vi 명령어로 수정하고 wq로 저장하려 할 때 swap 파일이 있어 저장이 안되는 경우가 있다. swap 파일은 vi 편집중에 터미널을 강제 종료하거나 했을 때 자동 저장되는 파일이다. 여러번 파일 수정 작업을 거치다 보면 그런 일이 종종 발생하는데 그럴 때는 swap 파일을 모두 지워주고 작업하면 된다. 그러면 해당 파일 디렉토리에서 ls로 swap파일이 있는지 확인 후, `rm 원본파일명.swap`으로 지워준다.
[Docker/R] Rocker rstudio에서 Rmysql 라이브러리 설치 안될 때 Rocker Rstudio에서 rmysql 라이브러리를 사용하여 db에 연결하고 db 관련 함수들을 사용하고자 할 때, install.packages("rmysql")을 해도 패키지 설치가 안된다는 에러가 날 때가 있다. 그럴 때는 도커 컨테이너 터미널로 접속하여 아래와 같이 클라이언트를 설치해주고 다시 rstudio에서 install을 시도하면 해결된다. apt-get install libmariadb-client-lgpl-dev sudo apt-get install libmysqlclient-dev sudo apt-get install zlib1g-dev Rstudio와 디비를 연결해두면 대용량 flat 파일을 R에서 읽어들이고 전처리 후 바로 디비로 wirte할 수 있어서 편하다.
[Docker/R] rocker rstudio로 분석 협업 환경 설정하기 HTML 삽입 미리보기할 수 없는 소스 내부 토이 프로젝트 형식으로 동료들과 진행하는 분석 플젝이 하나 있는데, 가용할 서버가 없어서 그냥 남는 데스크탑 pc를 사용하여 DB를 설치하고 그곳에다 협업 분석 환경을 구성하기로 했다. pc를 빈 깡통으로 만들고 리눅스 서버를 설치하여 사용할 수도 있겠지만 디비는 어차피 동시 접속이 가능하고, 파이썬이나 R 같은 분석 툴도 docker에서 제공하는 이미지를 사용하면 간단하고 쉽게 우분투 환경 구성을 할 수 있기에, 그냥 windows desktop이 깔린 데스크탑에다 docker를 설치하고 컨테이너에 각각의 이미지를 띄운 후, 공용 desktop ip로 (고정 ip) 웹브라우저에서 각자의 계정으로 동시 접속 하여 작업 할 수 있게 끔 했다. 또한 desktop..
[mysql] 데이터 백업을 위한 trigger 만들기 HTML 삽입 미리보기할 수 없는 소스 소량의 sub 데이터를 지우고 업데이트 할 시, 이전에 적재했던 데이터를 시점 별로 백업하고 싶다면 업데이트 전 지운 레코드를 다른 테이블에 저장해두는 trigger를 생성해서 작업을 수행할 수 있다. 1. 백업 데이터를 저장할 테이블 만들기 source 테이블과 똑같은 스키마에다가 백업 시점 정보를 담을 칼럼 하나를 date 형식으로 추가하여 백업을 저장할 새 테이블을 하나 생성한다. CREATE TABLE `tb1_bk` ( `column1` varchar(50) DEFAULT NULL, `column2` varchar(50) DEFAULT NULL, `column3` varchar(50) DEFAULT NULL, `column4` double DEFAULT N..
[SQL] Mysql window fucntion으로 median 값 구하기 (Data sampling with median values in SQL) HTML 삽입 미리보기할 수 없는 소스 다양한 상황에서, 데이터를 그룹별로 묶어 각 중앙값을 기준으로 분포한 데이터만을 샘플링하여 분석할 때가 있다. 그럴 땐 median()이란 라이브러리 함수를 사용할 수 있는 다른 여러 분석 툴을 쓰는게 편리하지만, 만약 그런 내장 함수가 없는 SQL에서 데이터 샘플링을 수행하야 한다면 아래와 같은 방법을 쓰면 된다. SQL은 RDBMS에 따라 사용할 수 있는 function이 다르기 때문에, 아래 방법은 mysql 기준이지만 거의 모든 rdb에서 사용할 수 있는 기본적인 구문만을 사용한 방법이다. 만약 MSSQL과 같이 Percentile_cnt와 within group 같은 함수와 구문을 제공하는 디비라면 아래 링크를 참조해서 더 간단히 쿼리를 작성해 볼 수 있다..
[GCP Certi] GCP Pro Data Engineer Knowledge 구글에서 제공하는 모의고사와 덤프를 풀며 키워드 중심으로 그냥 일단 정리해보는 오답노트... Wildcard Use when querying multiple tables with same suffix. (Similar named tables) Format sample: `bigquery-public-data.noaa_gsod.gsod*` (* and backtic) Materialized View Periodically cache the results of a query for increased performance. Suited to small datasets that are frequently queried. When underlying table data changes, it invalidates ..