Primeros pasos con google-bigquery

Análisis de 50 000 millones de visitas a la página de Wikipedia en 5 segundos (tutorial para principiantes de BigQuery)

¡Hola a todos! Esta es una demostración que me encanta ejecutar para las personas que comienzan con BigQuery. Entonces, ejecutemos algunas consultas simples para que usted comience.

Configuración

Necesitarás un proyecto de Google Cloud:

  1. Vaya a http://bigquery.cloud.google.com/.
  2. Si le dice que cree un proyecto, siga el enlace para crear un proyecto y cree un proyecto.
  3. Vuelva a http://bigquery.cloud.google.com/.

Notas:

  • No necesitas tarjeta de crédito. Todos obtienen 1 TB gratis para análisis cada mes.
  • Cargos de BigQuery por consulta. Antes de ejecutar una consulta, podrá ver cuánto cuesta cada consulta.

vamos a consultar

  1. Busque las páginas vistas de mayo de 2015 en https://bigquery.cloud.google.com/table/fh-bigquery:wikipedia.pagecounts_201505

Nota: Google protege sus datos con los más altos estándares de seguridad (PCI, ISO, HIPAA, SOC, etc.), pero también es fácil compartir datos si lo desea, como hice aquí. https://cloud.google.com/security/

  1. Esta tabla tiene 5 columnas: fechahora idioma título solicitudes contenido_tamaño. Básicamente dicen “esta página de wikipedia en este idioma tenía muchas solicitudes a esta hora”.

  2. Esta tabla tiene casi 6 mil millones de filas (379 GB de datos).

  3. Para averiguar cuántas páginas vistas tuvo Wikipedia durante mayo, puede sumar las 6 mil millones de líneas de solicitudes:

     SELECT SUM(requests) 
     FROM [fh-bigquery:wikipedia.pagecounts_201505]
    
  4. ¿Te diste cuenta de lo rápido que fue? (1,8 s transcurridos, 43,1 GB procesados ​​para mí)

  5. Hagamos algo más complejo. Ejecutemos una expresión regular sobre estos 6 mil millones de filas. ¿Qué tan rápido podría ser esto?

     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. ¿Qué tan rápido fue para ti? ¿Encontraste Reddit en los resultados?

Análisis de costos

  1. Esta última consulta procesó 269 GB: Más de la cuarta parte del terabyte mensual gratuito. ¿Por qué?

  2. BigQuery analiza las columnas que procesa en su consulta. ’título’ es una columna grande - contiene texto. La columna ‘solicitudes’ tiene solo 43,1 GB.

  3. Para que su terabyte libre dure, extraiga los datos en tablas más pequeñas. Por ejemplo, tengo una tabla con solo las [vistas de página de las 65 000 páginas principales de Wikipedia en inglés] (https://bigquery.cloud.google.com/table/fh-bigquery:wikipedia.pagecounts_201408_en_top65k). La misma consulta procesa solo 1,18 GB: puede ejecutar casi 1000 de ellos de forma gratuita al mes.

     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. No puede crear tablas con el terabyte mensual gratuito, es solo para análisis. Active sus $ 300 gratis para nuevas cuentas de Google Cloud Platform, o pídame aquí que haga un extracto por usted. Estaré feliz de hacerlo.

Cargar datos en BigQuery

Para cargar datos en BigQuery, deberá activar la facturación para su proyecto; pruébelo con sus $300 gratis para cuentas nuevas.

  1. Cree un conjunto de datos en su proyecto para cargar los datos en: https://i.imgur.com/FRClJ3K.jpg.

  2. Encuentre los registros sin procesar compartidos por Wikipedia en https://dumps.wikimedia.org/other/pagecounts-raw/

  3. Introduzca uno de estos archivos en su computadora, como https://dumps.wikimedia.org/other/pagecounts-raw/2015/2015-06/pagecounts-20150616-160000.gz

  4. Instale la herramienta ‘bq’. https://cloud.google.com/bigquery/bq-command-line-herramienta

  5. Cárgalo en BigQuery:

     bq load -F" " --quote "" YourProjectName:DatasetName.pagecounts_20150616_16 pagecounts-20150616-160000.gz language,title,requests:integer,content_size:integer
    
  6. Espere un par de minutos. Mientras espera, déjeme explicarle esa línea: Este no es un archivo CSV, es un archivo separado por espacios (-F" “) que no usa comillas (–quote “”), elegimos una tabla de destino en un conjunto de datos en su proyecto (recuerde crear primero el conjunto de datos), elegimos el archivo a cargar y definimos las 4 columnas que tiene este archivo.

  7. Tenga en cuenta que BigQuery ingiere felizmente archivos .gz, hasta un cierto tamaño. Para archivos muy grandes, es mejor descomprimirlos y colocarlos primero en Google Cloud Storage. Eso es lo que hice con los comentarios de reddit que compiló /u/Stuck_In_The_Matrix. Esos archivos eran grandes, pero BigQuery los ingirió en aproximadamente 2 minutos.

Aprende más

¿Listo para ejemplos más avanzados? Consulte cómo consultar Reddit y [cómo consultar todos los viajes en taxi de Nueva York](https://www.reddit. com/r/bigquery/comments/28ialf/173_million_2013_nyc_taxi_rides_shared_on_bigquery/).

¡Sigue para aún más!

  • Suscríbase a /r/bigquery (y vea la barra lateral para ver más enlaces).
  • Sígueme en https://twitter.com/felipehoffa

Instalación o configuración

Instrucciones detalladas sobre cómo configurar o instalar google-bigquery.