2024. 4. 24. 16:21ㆍTroubleshooting
01 접속하기
1. 접속하기
2. 오른쪽 콘솔로 들어간다.
3. 대부분 기능이 있는 빅쿼리 스튜디오 클릭한다.
4. 데모 쿼리 사용해보기 = 무료 데이테셋이다.
5. 자동으로 열리는 가이드북
6. 테이블을 누르면 미리보기, 내보내기(다운로드)도 된다. 참고!
- 구글 트렌드 데이터셋은 시간대별 구글의 검색량을 보여주는 시계열 데이터이다.
7. 디비버에 파일 업로드 하는 것과 같이 간단히 내 로컬 파일 올릴 수도 있음.
02 공개 데이터 확인하기
1. Analytics Hub 제일 많이 사용하는 것 같다. 내부에 데이터셋이 굉장히 많다.
2. Google Drive에 있는 파일도 가져와서 사용할 수 있다.
3. 데이터 바로 추가해서 볼 수도 있다. 메타데이터가 있으면 좋겠는데 안보인다.
4. 디비버처럼 똑같이 연결해서 사용할 수도 있다.
- 이런 개념을 알고 있으면 빅쿼리 뿐만 아니라 다른 클라우드 서비스에도 적용할 수 있다.
- 회사에서 스노우플레이크를 쓴다고하면 관련 문서를 찾아봐서 빨리 적용할 수 있다.
03 쿼리 실행해봤다.
04 참고링크
Google BigQuery (1) 빅쿼리에 데이터를 연결하는 3가지 방법 (datarian.io)
Google BigQuery (1) 빅쿼리에 데이터를 연결하는 3가지 방법
빅쿼리에서 데이터를 연결하는 방법은 크게 세 가지가 있습니다. 여러분의 상황에 적합한 방법을 찾아 차근차근 따라 해보시면 아주 쉽게 빅쿼리에서 데이터를 보실 수 있을 거예요.
datarian.io
[글또] Google bigquery에 데이터를 적재하고 태블로로 데이터 가져오기 (tistory.com)
[글또] Google bigquery에 데이터를 적재하고 태블로로 데이터 가져오기
예상독자 로컬 머신와 빅쿼리를 연결해보고 싶은 독자 데이터 적재 자동화를 동해 태블로에 시각화하고 싶은 독자 1. 배경 데이터분석을 넘어 데이터 파이프라인을 만들어 자동화를 하는 경우
snowgot.tistory.com
05 인사이트
# 데이터 베이스는?
- 온프레미스랑 클라우드로 나뉜다.
- 클라우드는 또 sql, nosql로 나뉜다.
# SQL
- 구조화된 데이터 질의 언어
- 관계형 데이터 베이스, 거의 동음이의어로 사용된다.
- SQL은 관계형 데이터베이스에 쿼리 질의를 날리는 언어
- 관계형 데이터베이스는 그 자체이다.
- nosql은 관계가 없다는 것이다. 아는 것처럼 행렬 형태가 아니라. 데이터를 다양하게 넣을 수 있다. 키밸류(json)도 가능하고 여러가지가 있다. 형식에 대해 제한을 받지 않아서 백엔드개발자들이 데이터를 정제하지 않고 넣을 때 이걸 씀. 분석가는 이걸 거의 마주할 일이 없다. 데이터분석가 풀이 계속 변하고 있다고 생각한다. 비정형 데이터 대한 활용이 늘어나니까 한번쯤 마주해보는 것도 좋지 않을까? 싶다.
- 이번시간에는 RDB 중 구글의 클라우드 데이터 서비스인 빅쿼리를 활용
- 빅쿼리를 실습하는 이유는 제일 유명해서이다.
- 클라우드 RDB중에 제일 유명하고 사용하기 좋고 다양한 기업들이 사용한다.
- 채용공고 자격요건에 빅쿼리를 활용을 요구하는 회사가 있을 때도 유용!
# 온프레미스
- 회사 내 서버에 접속해서 분석을 하는 경우는 대부분 MySQL 씀.
- 회사 내 서버실이 따로 있음. 따로 구축함.
- 컴퓨터를 사서 GPU도 넣고 어쩌고 다 넣고 서비스함.
- 유저가 많아지면 서버를 증축해야 한다.
- 유저가 줄어들면 낭비되는거니까 줄여야겠지.
- 회사가 게임서비스, 라이브서비스 하는 거에 대해서는 이런 니즈가 커졌다.
- 이렇게 유동성 있는 서버 사용에 대한 니즈가 커졌다는 것이다.
# 클라우드
- 다양하게 쓰이는데 빅쿼리가 조금 우위에 있다.
- 클라우드만 보면 AWS지만 단일 서비스로는 빅쿼리.
- 클라우드는 물리적으로 우리 회사에 설치 할 필요가 없어. 내가 웹으로 접속하면 아마존, 구글이 대여서비스를 해준다. 유저가 늘어나면 확장을 시키면 된다. 돈만 내면 된다. 이걸 Saas라고 한다. (소프트웨어 as 서비스) 임대서비스가 촉발이 되어서 다 클라우드로 뭔가를 한다.
- 어떤 기능을 쓰고 싶다면? 옛날에는 서버를 꾸리고 리눅스를 탑재(이건 되어 있겠지) 기능 깔고 했어야 하는데 지금은 특정 기능이 필요하면 그 기능을 갖다 쓰면 된다.
# 구글 빅쿼리가 뭔가요?
- 머신러닝, 지리정보 분석, 비즈니스 인텔리전스와 같은 서비스를 제공하여 데이터를 관리하여 분석할 수 있게 해주는 데이터 웨어하우스.
- 테라바이트 급 쿼리를 초단위로 수행할 정도로 빠른 성능을 가짐.
- 메가 < 기가 <테라 순으로 1000배씩 커지는 것임.
- 클라우드 서비스 자체는 AWS가 우위지만 RDB 안에서는 빅쿼리가 많이 사용되고 있다.
- 가장 머신을 만들 필요가 없이 GCP(구글 클라우드 플랫폼이라는 통칭을 말한다.)가 자동으로 활동하고 관리한다.
- 우리가 빅쿼리를 쓰고 싶으면 계정을 들어가 구글이 서비스를 할당해주고 우리는 쿼리만 치면 된다.
- 프로젝트할 때 장점: 모두 공통된 데이터를 볼 수 있다!
- 구글 콜랩, 스프레드시트 등 호환성이 좋다
- 단, 데이터 분석/저장/수집/추출에 대한 각각의 비용이 발생한다.
- 구체적으로 금액표도 존재한다.
- 구글의 장점은 문서화를 잘해뒀다. 문서를 잘 확인하면 돼.
- 내가 얼만큼 쓸거라고 예측하는 건 고수의 영역이다. 초수는 쓰다보면 경험적으로 알게 된다.
- 처음에 무료 할당하는 것도 있다.
- Data Tranfer Service 다른 서비스에서 gcp로 데이터 이동하는 서비스에 대한 비용이다.
- 빅쿼리를 쓰는 회사가 있다. 워낙 빠르다보니 사전에 대용량 데이터면 조금 조심스럽게 쿼리를 날려야 하는 게 있다. 쿼리 성능에 따라서 금액이 과금 되는데 이게 흔하게 있는 일이다. 너무 큰 쿼리, 복잡한 쿼리를 쓰고 테이블 크기도 크고 쿼리를 한번 날렸더니 300만원이 나온 사례. 도시 괴담.
- 쿼리 옵티마이징을 알면 좋음. 아니면 쿼리 할 때마다 얼마 정도 예상 비용이 나올지 확인할 수 있음. 사전 과정이 있어야겠다.
# 구글 빅쿼리를 처음 들어간다면?
- 구글 클라우드로 들어가게 된다.
- 활성화 하지 않으면 입력하는 창이 뜰 것이다. 난 했음.
- 결제 카드 들어갈 수 있는데 유도하기 위해 하는 것임.
- 등록하는 것만으로 과금되지 않음.
- 기본적으로 40만원의 무료 크레딧을 제공한다.
- 왼쪽 위에 구글 클라우드라도 마크가 보이지. 보통 여기서 오른쪽에 콘솔이란 걸 들어간다.
- 블로그 참고
# 다시 이론 설명으로
- 데이터리안에서 빅쿼리에 데이터를 연결하는 3가지 방법 아티클 참고하기
- 현재는 이 아티클과 겹치지 않는 방법이기 때문에 따로 보기!!
- SQL로 했을 때 아쉬운 점은 성능은 좋으나 파이썬이 제공하는 머신러닝이나 시각화를 서드파티를 써야함.
- 시각화를 하고 싶으면 스프레드시트에 연결하거나? 태블로에 연결해서 시각화를 해야하는 단점.
- 파이썬이 익숙하면 파이썬으로 데이터를 조작하고 싶은 마음이 있을거다.
- 여기선 안된다.
- 빅쿼리의 좋은점은? 여기서 상태를 따로 지원해주는 것도 있다.
- 여기서 잘 안된다면 파이썬 환경을 쓰고 싶다면?
- 로컬이나 코랩에서 사용할 수 있다.
- 로컬 ↔ 빅쿼리 연동은 지지플랏 블로그 참고. 코랩이랑 설치만 달라서.
# 코랩에서 데이터 로딩하는 방법은 실습으로
= 현재 코랩에서 작업한 데이터를 다시 빅쿼리로 옮기는 환경 구축하기
- 코랩이 어디에 위치해있는지 알면 좋음.
- 현재 위치를 코랩이 실행되고 있는 위치는 /pwd 리눅스명령어 실행
- 그럼 /content에 있다. 코랩이 이 경로를 보고 있다.
- 코랩으로 import cert_info(.py)를 확인하려면?
- 바로 import 하지말고 정확하게 위치를 from으로 지정해야 한다.
- from (content내에 있는) 폴더명.kamis_api 에 들어와서 import cert_info 해야함.
- cert_info.py 이건 카미스 인증정보이다. 개인정보 때문에 생기는 과정.
- 코랩의 장점은 데이터프레임을 엑셀 형태로도 볼 수 있다는 점이다.
# 클라우드 서비스를 이용해서 프로젝트를 잘하는 법, 팀원을 모은다면?
- 데이터 공유: 빅쿼리 혹은 외부 클라우드 db를 이용
- 코드 공유: 깃허브, 구글 코랩, 구글 드라이브 등
- 진행상황: 노션 등
- 시각화: 태블로, 루커 스튜디오, 스프레드 시트 등
# 구글 파이프라인으로 쫙 해보면 편하게 쓸 수 있다는 걸 깨달을 것이다.
'Troubleshooting' 카테고리의 다른 글
PYTHON: 소수 만들기 (라이브러리 활용, 비활용편) (0) | 2024.09.05 |
---|---|
PYTHON: 딕셔너리의 활용편 dictionary.item() (0) | 2024.08.12 |
PYTHON: 관광공모전 참여, 알쿼리즘 스터디 인사이트 (0) | 2024.07.25 |
[개인] cron을 이용한 스케줄링(3) (0) | 2024.04.29 |
[개인] Google Clab → Google Bigquery 자동화 프로젝트(2) (0) | 2024.04.26 |