brunch

You can make anything
by writing

C.S.Lewis

by 비즈스프링 Apr 07. 2020

Google BigQuery 공개 데이터셋
사용하기

공개된 데이터 셋을 연습용으로 활용할 수 있습니다.

아래 콘텐츠들로부터 이어지는 내용입니다.

BigQuery, SQL 자체가 낯선 분들은 아래 시리즈를 참고해주세요 :)

1) 구글 빅쿼리(Google BigQuery) 시작하기

2) 구글 빅쿼리(Google BigQuery) 화면 구성

3) 구글 빅쿼리(Google BigQuery)에서 데이터를 추출하는 SQL! 어떻게 쓰면 되나요?




지난 포스팅에서는 데이터를 확인할 수 있는 SQL의 SELECT 구문에 대해 알아보았는데요. 마지막에 간단하게 질문을 드렸는데, 혹시 확인해 보셨나요?


Users 테이블이 있고 | 사용자번호 | ID | 이름 | 주소 | 가입일 | 뉴스레터구독여부 | 로 구성되어 있습니다. 이 Users 테이블에서 뉴스레터를 구독하는 사용자번호, 가입일을 알고싶다면 SQL문은 어떻게 작성되어야 할까요?


정답은! SELECT 사용자번호, 가입일 FROM Users WHERE 뉴스레터구독여부=’Y’ 입니다. 뉴스레터구독여부의 경우, Y는 구독중 N은 구독해지를 의미하는데요. 구문을 똑같이 작성하지 않았어도 생각하신 의미가 일치한다면 내용을 잘 이해해주셨다고 봅니다!


이번 시간에는 SQL 문을 가지고 빅쿼리에 쌓여있는 데이터를 확인해보도록 하겠습니다. 빅쿼리에 가지고있는 데이터가 없어도 걱정하지 마세요. 빅쿼리에서는 공개 데이터 세트를 제공하고 있어서 연습용으로 활용할 수 있습니다.


빅쿼리 공개 데이터 세트에 대한 설명 바로가기 > 


우선 빅쿼리에서 SELECT문을 실행하기 전, 구글 빅쿼리 화면 구성을 통해 알아보았던 빅쿼리 웹 상에서 공개 데이터 세트에 접근해 보겠습니다.  


console.cloud.google.com



구글 클라우드 플랫폼 콘솔 링크에서 ‘BigQuery’ 로 접근해 주세요. 리소스 [+ 데이터 추가] > ‘공개데이터 세트 탐색하기’를 누르면 빅쿼리에서 공개적으로 제공하고 있는 리스트를 확인할 수 있습니다. 오늘을 기준으로 147개 공개 데이터세트가 제공되고 있는데요. 리스트를 한 번 살펴보시고, 궁금한 데이터세트는 구경해보세요!

 


이번 포스팅에서는 최근에 제공된 ‘About COVID-19 Public Datasets’ 을 통해 실습해 보겠습니다. 구글 공식 블로그에 따르면 누구나 연구가 가능하도록 COVID-19 에 대한 공개 데이터 셋을 제공합니다.
 구글 공식 블로그 바로가기 > 


[covid19-jhu-csse] 데이터셋에 대한 설명
Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE) 에서 제공한 2019 코로나 바이러스에 대한 데이터 집합 입니다. 데이터셋 소스는 JHU CSSE 이고, 데이터는 매일 업데이트 됩니다.



[데이터 세트 보기] 를 누르면, ‘리소스’ 영역에 추가된 것을 확인할 수 있습니다.
리소스 > bigquery-public-data > dovid19_jhu_csse 데이터셋 




covid19-jhu-csse 데이터셋에 포함된 4개의 테이블 중 ‘summary’ 테이블로 데이터를 확인해보도록 하겠습니다. 

‘summary’ 를 클릭하면 해당 테이블에 대한 정보 확인이 가능합니다. 이는 원하는 데이터를 출력하기 전에 꼭! 확인이 되어야 하는 부분인데요. [ 스키마 | 세부정보 | 미리보기 ] 탭을 확인할 수 있습니다. 



스키마는 데이터셋이 어떻게 정의되어 있는가를 확인할 수 있고, 미리보기를 통해 정의된 항목에 입력 되어있는 실데이터를 확인할 수 있습니다. 저 같은 경우에 ‘스키마’ 항목에서 데이터 파악이 조금 어렵다 싶으면 ‘미리보기’를 한 번 더 확인합니다. 어떤 데이터가 포함되어 있는지 예시로 보면 이해하기 쉽더라고요. 미리보기를 보니 국가 별 코로나 바이러스에 대한 확진자/사망자/완치자를 일자별로 저장되어 있습니다. 확진자(confired), 사망자(deaths) 의 경우 누적 데이터로 확인되는데요. 이전에 배운 내용보다 더 심화된 구문을 알아야 하기에 현재 다뤄볼 수 있는 구문으로 실습을 진행해보도록 하겠습니다.


데이터 확인은 ‘쿼리 편집기’ 에 구문을 입력하고 [실행] 버튼을 누르면, 아래 영역에 결과가 출력됩니다.
직접 해보면서 익숙해져 볼까요?


‘스키마’를 보았을 때 어떤 정보를 확인하고 싶으셨나요?

우선 대한민국에서 확인된 코로나 바이러스에 대한 데이터를 확인해보도록 하겠습니다. 


SELECT * FROM `bigquery-public-data.covid19_jhu_csse.summary`
WHERE country_region = “South Korea”
ORDER BY date DESC

*ORDER BY date DESC: date 항목을 내림차순으로 정렬한다.



대한민국에서 확인된 코로나 바이러스에 대한 데이터 중, 완치자가 50명 이상인 경우도 보도록 하겠습니다. 


SELECT * FROM `bigquery-public-data.covid19_jhu_csse.summary`
WHERE country_region = “South Korea” and recovered >= 50
ORDER BY date DESC


위에 조건을 주었던 SQL 문에서 and 로 추출 조건을 추가하였고, [실행] 버튼을 누르면 아래의 ‘결과’ 에서는 조건에 해당하는 데이터를 볼 수 있습니다. 이렇게 빅쿼리에서 제공하는 공개 데이터셋을 사용하여 SQL 문 중 데이터를 확인하는 SELECT 구문을 작성해 보았는데요. 이번 포스팅에서는 빅쿼리에서는 공개 데이터셋을 제공하고 있으며, 이를 통해 데이터 추출을 위한 연습이 가능하다는 것을 알 수 있었습니다. 

*단, 빅쿼리에서는 실행하는 쿼리의 데이터 탐색 량에 따라 금액이 부과될 수 있습니다. (무료로 지원되는 금액을 충분히 활용해주세요.) 


본 포스팅에서 언급한 데이터셋 이외에도 관심있는 데이터셋을 활용하여 확인을 원하는 데이터 추출을 위해 SQL문을 구성해서 [실행] 버튼을 눌러보세요. 의미있는 데이터 확인으로 더 나은 환경을 구성하는 데 도움이 될 수 있습니다. 

매거진의 이전글 아마존광고를 보면 마케팅 자동화가 보인다.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari