google-bigquerygoogle-bigquery 시작하기


비고

이 섹션에서는 google-bigquery가 무엇인지, 그리고 개발자가 왜 그것을 사용하려고하는지에 대한 개요를 제공합니다.

또한 google-bigquery 내의 큰 주제를 언급하고 관련 주제에 링크해야합니다. google-bigquery 용 문서가 새롭기 때문에 이러한 관련 주제의 초기 버전을 만들어야 할 수도 있습니다.

5 초 만에 500 억 개의 위키피디아 페이지 뷰 분석 (BigQuery 초급 자습서)

안녕 모두! BigQuery를 시작하는 사람들을 위해 내가 좋아하는 데모입니다. 먼저 간단한 쿼리를 실행 해보십시오.

설정

Google Cloud 프로젝트가 필요합니다.

  1. http://bigquery.cloud.google.com/으로 이동하십시오.
  2. 프로젝트를 작성하라는 메시지가 표시되면 링크를 따라 프로젝트를 작성하고 프로젝트를 작성하십시오.
  3. http://bigquery.cloud.google.com/ 페이지로 다시 이동하십시오.

노트:

  • 신용 카드가 필요하지 않습니다. 모든 사람들은 매달 분석을 위해 무료 1TB를받습니다.
  • BigQuery는 쿼리 당 요금을 부과합니다. 쿼리를 실행하기 전에 각 쿼리의 비용을 확인할 수 있습니다.

쿼리하자.

  1. 2015 년 5 월의 페이지 뷰는 https://bigquery.cloud.google.com/table/fh-bigquery:wikipedia.pagecounts_201505 에서 찾으십시오.

참고 : Google은 가장 높은 보안 표준 (PCI, ISO, HIPAA, SOC 등)으로 데이터를 보호하지만 여기에서했던 것처럼 원하는 경우 데이터를 쉽게 공유 할 수 있습니다. https://cloud.google.com/security/

  1. 이 테이블에는 datehour 언어 제목 요청 content_size라는 5 개의 열이 있습니다 . 그들은 기본적으로 "이 언어로 된이 위키피디아 페이지에는이 시간에 이러한 많은 요청이있었습니다"라고합니다.

  2. 이 테이블에는 거의 60 억 개의 행 (379GB의 데이터)이 있습니다.

  3. 위키 피 디아 (Wikipedia)가 5 월에 몇 페이지 뷰가 있었는지 확인하려면 60 억 라인의 요청을 모두 합산 할 수 있습니다.

     SELECT SUM(requests) 
     FROM [fh-bigquery:wikipedia.pagecounts_201505]
     
  4. 그게 얼마나 빨랐는지 알았 니? (1.8 초 경과, 43.1GB 처리)

  5. 좀 더 복잡한 것을 해보 죠. 이 60 억 개의 행에 대해 정규 표현식을 실행 해 봅시다. 얼마나 빠를 수 있니?

     SELECT SUM(requests) req, title
     FROM [fh-bigquery:wikipedia.pagecounts_201505] 
     WHERE REGEXP_MATCH(title, 'Red.*t')
     GROUP BY title
     ORDER BY req DESC
     LIMIT 100     
     
  6. 얼마나 빨랐 니? 결과에서 Reddit을 찾았습니까?

비용 분석

  1. 이 마지막 쿼리는 269GB를 처리했습니다. 무료 월간 테라 바이트의 1/4 이상입니다. 왜?

  2. BigQuery는 쿼리에서 처리하는 열을 확인합니다. '제목'은 큰 열입니다. 텍스트가 포함되어 있습니다. '요청'열은 43.1 GB에 불과합니다.

  3. 무료 테라 바이트를 마지막으로 만들려면 작은 테이블에 데이터를 추출하십시오. 예를 들어 상위 65,000 개의 영어 위키 백과 페이지 뷰 가있는 표가 있습니다. 동일한 쿼리는 1.18GB 만 처리합니다. 거의 한 달 동안 무료로 1,000 개를 실행할 수 있습니다.

     SELECT SUM(requests) req, title
     FROM [fh-bigquery:wikipedia.pagecounts_201408_en_top65k] 
     WHERE REGEXP_MATCH(title, 'Red.*t')
     GROUP BY title
     ORDER BY req DESC
     LIMIT 100 
     
  4. 무료 월간 테라 바이트가있는 테이블을 만들 수는 없습니다. 분석을 위해서만 사용됩니다. 새로운 Google Cloud Platform 계정에 대해 무료 300 달러를 활성화하거나 여기에서 나에게 추출물을 요청하십시오. 나는 그렇게하게되어 기쁘다.

BigQuery에 데이터로드

BigQuery에 데이터를로드하려면 프로젝트 청구를 활성화해야합니다. 새 계정에 300 달러를 무료로 사용해보십시오.

  1. 프로젝트에 데이터 세트를 작성하여 데이터를로드하십시오 ( https://i.imgur.com/FRClJ3K.jpg) .

  2. Wikipedia에서 공유하는 원시 로그를 https://dumps.wikimedia.org/other/pagecounts-raw/ 에서 찾으십시오.

  3. 이 파일 중 하나를 컴퓨터에 저장하십시오 (예 : https://dumps.wikimedia.org/other/pagecounts-raw/2015/2015-06/pagecounts-20150616-160000.gz).

  4. 'bq'도구를 설치하십시오. https://cloud.google.com/bigquery/bq-command-line-tool

  5. BigQuery에로드 :

     bq load -F" " --quote "" YourProjectName:DatasetName.pagecounts_20150616_16 pagecounts-20150616-160000.gz language,title,requests:integer,content_size:integer
     
  6. 몇 분 기다려. 기다리는 동안 그 줄을 설명해 드리겠습니다 : 이것은 CSV 파일이 아니며 따옴표 (- quot "")를 사용하지 않는 공간으로 구분 된 파일 (-F "")이며 데이터 세트에서 대상 테이블을 선택합니다 프로젝트에서 (먼저 데이터 셋을 생성해야 함)로드 할 파일을 선택하고이 파일에있는 4 개의 열을 정의합니다.

  7. BigQuery는 행복하게 .gz 파일을 일정 크기까지 섭취합니다. 대용량 파일의 경우 압축을 해제하고 먼저 Google Cloud Storage에 저장하는 것이 좋습니다. 그게 / u / Stuck_In_The_Matrix가 편집 한 reddit 주석으로 한 일입니다. 이러한 파일은 크기가 크지 만 BigQuery는 2 분 내에 파일을 수집합니다.

더 알아보기

고급 예제를 사용할 준비가 되셨습니까? Reddit 을 쿼리하는 방법모든 NYC 택시 여행 을 쿼리하는 방법을 참조하십시오.

더 많은 것을 위해 따라라!

설치 또는 설정

google-bigquery를 설정하거나 설치하는 방법에 대한 자세한 안내.