SQL

데이터 엔지니어와 SQL

** 모든 데이터 파이프라인에서 SQL 사용
  - Kafka → DB 저장 (INSERT)
  - Spark SQL (대용량 처리)

  - Airflow DAG (스케줄링된 쿼리)


 

 

 

 

Docker Compose로 PostgreSQL + pgAdmin 환경 구축

1. 실습환경 구성 

- docker-compose.yml 파일 생성 

- 샘플 데이터 생성 

 

 

 

2. Docker 컨테이너 실행 

# 해당 폴더로 이동 
cd ~/sql-practice

# docker 실행 
docker compose up -d 

# 상태 확인 
docker ps 

# 네트워크 확인 (사전에 sql-practice_db_network 네트워크가 생성되어 있어야함)
docker network ls

 

 

 

 

 

 

 

localhost:8080를 입력 

 

localhost8080 / 로그인 이후 홈 화면창

 

 

app 서버 이후 다음 정보를 입력후 저장을 누르면 실패하는걸 볼수 있다 .

 

 

 

 

postgres 컨테이너에 연결하려면 서비스 명을 입력 

 

3. VScode 에  SQLTool연결 

 

 

 

 

 

입력후 TEST CONNECTION으로 성공여부 확인하기

 

 

여기에서는 server주소를 locallhost로 지정가능 -> 호스트 


생성된 db를 보고 바로 사용할것이면 connet now 클릭 

 

** 요약 ** 

docker compose up -d로 컨테이너 실행
docker ps로 상태 확인
컨테이너끼리는 서비스명으로 통신호스트에서는 localhost + 포트로 접속

 

 

 

SQL문 

 

VScode  SQLTool 실행

 

SELECT

 

1) 지정된 컬럼만 조회 

일반적으로 SELECT * FROM 을 사용하지만 대용량 데이터인경우 SELECT * FROM 을 사용하면 수십만건이 조회가 될수 있다 따라서 LIMIT을 이용하여 일부 데이터만 조회할수 있도록 제한한다 . 

# 전체 데이터 조회 
SELECT * FROM ORDERS ;

# 지정된 건수(10)만 조회
SELECT * FROM ORDERS LIMIT 10;

 

 

2) 문자열 조회

SQL도 Python 처럼 따옴표가 없는경우 변수로 인식한다 조건문에서 해당 문자열과 일치하는 값을 구하고 싶을때 작은 따옴표(' ')를 사용한다 .

SELECT * FROM oders 
WHERE stat = 'string'

 

 

3) 날짜 조회

날짜인 경우 '날짜 포맷'으로 비교하여 조회한다 기준일도 포함하고싶다면 >=, <= 사용

 

+ Recent posts