[Mysql] 홀수 또는 짝수 출력
2022. 11. 30. 19:15
데이터 엔지니어링/SQL
Mysql 에서 홀수 또는 짝수를 구분해서 출력하고 싶다면 MOD 함수를 사용하면 된다. MOD 함수 MOD(M, N) 은 M 을 N 으로 나눈 나머지를 반환한다. MOD(M, N) 따라서 MOD 함수를 이용해서 홀수 또는 짝수인 데이터만 출력할 수 있다. 예를 들어 다음과 같이 사용해볼 수 있다. 홀수인 경우 = 2로 나눈 나머지가 1인 경우 SELECT * FROM [TABLE] WHERE MOD(ID, 2) = 1 짝수인 경우 = 2로 나눈 나머지가 0인 경우 SELECT * FROM [TABLE] WHERE MOD(ID, 2) = 0
RDBMS 와 NoSQL 비교
2022. 11. 29. 01:20
데이터 엔지니어링/Database
비교하기 전 사전 이해 데이터베이스란 통합하여 관리되는 데이터의 집합체 를 의미한다. 중복된 데이터를 없애고 자료를 구조화하고 효율적으로 처리할 수 있도록 관리된다. 따라서, 여러 사용자가 데이터베이스를 사용할 수 있다. 위에서 설명한 데이터베이스를 관리하기 위한 시스템이 바로 DBMS 라고 한다. 사용자와 데이터베이스 사이에서 사용자의 요청을 해석해서 데이터베이스의 데이터를 관리할 수 있도록 해주는 시스템을 말한다. SQL 은 관계형 데이터베이스 관리 시스템에 저장된 데이터를 관리하기 위해 사용되는 언어를 말한다. 데이터베이스를 구성하는 개체, 속성, 관계 및 제약 조건 등에 대해 전반적으로 정의한 메타데이터의 집합을 말한다. RDBMS RDBMS 는 Relational DataBase Manageme..
[Error] airflow.exceptions.AirflowException: The webserver is already running under PID
2022. 11. 18. 18:50
데이터 엔지니어링/Airflow
Airflow 테스트 환경을 만들고 서버를 종료했다고 생각했는데 다시 서버를 실행하려고 하니 다음과 같은 에러가 발생했다. (airflow) ~/workspace/airflow $ airflow webserver --port 8080 ____________ _____________ ____ |__( )_________ __/__ /________ __ ____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / / ___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ / _/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/ Traceback (most recent call last): File "/Users/jaynam/workspace/airflow/..

Python 가상 환경에서 airflow 설치해보기
2022. 11. 5. 18:01
데이터 엔지니어링/Airflow
airflow db 구성 airflow 에서 사용할 DB 를 구성해준다. 아래와 같이 테이블을 생성해주고 유저를 생성하고 권한 설정을 해준다. CREATE DATABASE airflow CHARACTER SET UTF8mb3 COLLATE utf8_general_ci; CREATE USER 'airflow'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON airflow.* TO 'airflow' @localhost; CREATE USER 'airflow'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON airflow.* To 'airflow'@'%'; flush privileg..

Docker mysql 5.7 버전 설치 (MacbookPro M1)
2022. 8. 30. 20:29
데이터 엔지니어링/Database
m1 맥북에 mysql 5.7 버전을 설치하려고 했는데 왜 안돼... 지원을 안 해주나 보다... 인텔이 아니라서 그런가.. mysql 8 버전은 설치해서 잘 작동하는 것은 확인했다. 그래서 결국 docker 에 mysql 5.7 버전 올려서 사용하기로 했다. 도커에서 mysql 이미지 버전 확인 jhnam@jhnamui-MacBookPro v2 % docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 13093 [OK] mariadb MariaDB Server is a high performing open sou… 5005 [OK] phpmyadmin p..

MacOS Mysql - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
2022. 8. 7. 17:33
데이터 엔지니어링/Database
MacOS 에서 brew 를 통해 mysql 을 설치하고나서 아래와 같은 에러가 나면서 접속이 되지 않았다. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) brew 서비스를 확인해보니 status 가 none 으로 되어있었다. $ brew services list Name Status User File mysql none 따라서 mysql 서비스를 시작해주었다. brew services start mysql mysql 서비스 시작 $ brew services list Name Status User File mysql started jaynam ~/Library/LaunchAgents/h..
Spark SQL function - ifnull(), nullif(), nvl(), nvl2()
2022. 7. 9. 21:39
데이터 엔지니어링/Spark
ifnull(expr1, expr2) : expr1 이 NULL 이면 expr2 반환 ifnull(expr1, expr2) nullif(expr1, expr2) : expr1 과 expr2 가 같으면 NULL, 다르면 expr1 반환 nullif(expr1, expr2) nvl(expr1, expr2) : expr1 이 NULL 이면 expr2 반환 nvl(expr1, expr2) nvl2(expr1, expr2, expr3) : expr1 이 NULL 이 아니면 expr2, NULL 이면 expr3 반환 nvl2(expr1, expr2, expr3)
[Mysql] WHERE 절에서 특정 문자 포함해서 검색하기
2019. 9. 8. 13:26
데이터 엔지니어링/SQL
WHERE 절에서 LIKE 를 사용해서 특정 문자가 들어간 컬럼의 값을 검색할 수 있다. 앞, 뒤에 '%' 를 붙여주게 되면 앞, 뒤에 어떤 문자가 오든 상관없이 특정 문자가 들어간 값을 검색하게 된다. SELECT * FROM [tablename] WHERE column like "%[특정 문자]%" 여기서 주의해야할 부분은 공백을 넣어줄 때 조심해야한다는 점이다. 공백을 넣어주게 되면 공백까지 검색하기 때문에 원하는 검색을 할 수 없다. 따라서 trim 을 사용해서 공백을 제거해준 후에 검색을 한다면 원하는 값을 얻을 수 있다. 예를 들어, 2019년 09월의 내용을 확인하고 싶다면 SELECT * FROM TABLE WHERE TIME LIKE '201909%' 와 같이 날짜에서 2019년 09월에..