#DB_API #맘대로SQL #쓰던대로SQL
DB 처럼 사용하기.
이번엔 WITH 도 사용해보고
MONTH, COUNT, ARRAY_AGG, STRFTIME, RANK OVER PARTITION, GROUP BY ALL
등등을 SQL 문장에서 이용해본다.
자세한 설명은 DuckDB Blog 에서 확인할 수 있다.
예제는 Rail Service 관련 open dataset 을 활용하고 있는데
2023년 데이터를 통으로 주는 듯 하다.
먼저 데이터를 내려 받음과 동시에 테이블을 생성하고,
데이터가 몇 개 인지?
데이터 컬럼 구조가 어떤지?
를 확인해 본다.
이러면 일단 테이블이 만들어 졌고 railway_tbl 을 이용해서 컬럼과 데이터 갯수를 확인 할 수 있다.
con.execute() 를 사용해도 좋고
con.sql() 을 이용해도 좋은데
데이터가 꽤 많은 것으로 보이지만 컬럼 갯수는 크지 않기 때문에 메모리 용량에 큰 문제는 없었다.
이 데이터에서 확인해 보려는 사항은
'각 월별로 가장 많이 이용되는 STATION을 TOP3로 보여주기' 이다.
이걸 SQL 로 옮겨놓은 것을 확인해보니
재미있는 콘텐츠를 직접 실습해보고 소개할 수 있어서 기쁘다.
SQL 이 더 익숙한 사람들에게는 Relational API 보다 매력이 있는 부분이 존재한다.
참고로 이걸 Pandas 에서 읽어들이려고 하면 메모리가 감당을 못하고 쥬피터 커널이 계속 죽는 현상이 관찰된다.