Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
Dans les coulisses de Google BigQuery
-
Upload
aurelie-vache -
Category
Technology
-
view
1.463 -
download
0
Transcript of Dans les coulisses de Google BigQuery
2/35
Qui suis-je ?Aurélie Vaché
Développeuse Full Stack chez
@aurelievache
#bigquery @aurelievache
“Big Data” != “Hadoop”
3/35#bigquery @aurelievache
GFS
MapReduce
BigTable
2004 2008 2012
Dremel
Colossus
BigQuery
Google et la révolution Big Data
2002 2006 2010 2015
DatalabBeta
4/35#bigquery @aurelievache
● AaaS (Analytics as a Service)
● stocker, analyser, exécuter des requêtes sur des grands volumes de données et partager ses données structurées
Qu’est ce que BigQuery ?
5/35#bigquery @aurelievache
Qu’est ce que BigQuery ?
6/35#bigquery @aurelievache
Pourquoi utiliser BigQuery ?- SLA 99.9%
- Infrastructure de Google
- Pas de coût de serveurs, d'opération et de maintenance
- Moins complexe écosystème Hadoop
- BigQuery SQL
8/35#bigquery @aurelievache
Pourquoi utiliser BigQuery ?- Scalabilité
- Rapide
- “Pay only for what you use”
- Requêtes synchrones et asynchrones
- Facilité d’interconnexion avec outils tiers
9/35#bigquery @aurelievache
Inconvénients/Limitations- “ Append-only tables ”
- Latences réseau possibles
- Performant sur des énormes tables (Go, To, Po), moins sur des petites tables
- Les données doivent être structurées
10/35#bigquery @aurelievache
● BigQuery => Analytics.
● Cloud Bigtable => NoSQL - stockage a grande échelle, update possible.
Différence entre BigQuery et Bigtable ?
7/35#bigquery @aurelievache
Usages
11/35#bigquery @aurelievache
Quotas
Requêtes
● 20 000 req/jour● 100 To données
100 000 lignes insérées /sec / table
StreamingChargement
● 1 000 jobs /table / jour● 10 000 jobs /projet
/jour● ...
12/35#bigquery @aurelievache
Coûts
Gratuit : Chargement des données + Export des données + tables lues + copies de tables + données dans le cache.
Requêtes
5$ par To de requêtes 0,01$ pour 200 Mo
Stockage Insertion
0,020$/Go/mois
13/35#bigquery @aurelievache
Architecture technique1. BDD orientée colonne
14/35#bigquery @aurelievache
Architecture technique2. Architecture en arbre
15/35#bigquery @aurelievache
ComposantsProject (billing, top-level container)
Dataset (organization, access control)
Job (query, import, export, copy)
Table (data with schema) <project>:<dataset>.<table_name>
16/35#bigquery @aurelievache
Composants > Table
Ex de schéma :
date:TIMESTAMP,cid:INTEGER,cl,toto,titi,uid:INTEGER
Type de données possible : string, integer, float, boolean, timestamp et record (nested / repeatable).
17/35#bigquery @aurelievache
Comment charger vos données ?
18/35#bigquery @aurelievache
Comment charger vos données ?
19/35#bigquery @aurelievache
L’API REST
20/35#bigquery @aurelievache
Exemple en JAVA // insert data List<TableDataInsertAllRequest.Rows> rowList = new ArrayList<TableDataInsertAllRequest.Rows>(); rowList.add(new TableDataInsertAllRequest.Rows() .setInsertId(""+System.currentTimeMillis()) .setJson(new TableRow().set("adt", null))); TableDataInsertAllRequest content = new TableDataInsertAllRequest().setRows(rowList); TableDataInsertAllResponse response = bigquery.tabledata().insertAll( PROJECT_NUMBER, DATASET_ID, TABLE_ID, content).execute(); System.out.println("kind="+response.getKind()); System.out.println("errors="+response.getInsertErrors()); System.out.println(response.toPrettyString());
21/35#bigquery @aurelievache
Connecteurs
22/35#bigquery @aurelievache
Fonctions intéressantes :
- TOP- TABLE_DATE_RANGE- REGEXP_MATCH / REGEXP_REPLACE / REGEXP_EXTRACT
BigQuery SQLVariante de l’instruction SELECT SQL standard
… FROM (TABLE_DATE_RANGE(TDS.meetup_, TIMESTAMP('2015-11-01'), TIMESTAMP('2015-11-30')))
23/35#bigquery @aurelievache
Demo Time !
24/35#bigquery @aurelievache
Visualisation et BI ETL
Third-party toolsConnecteurs
25/35#bigquery @aurelievache
Performances
26/35#bigquery @aurelievache
Ils utilisent BigQuery
27/35#bigquery @aurelievache
État des lieux - Cluster Hadoop- 12 serveurs sous Cloudera Manager v4.6 et CDH 4.3.0
- Facturation de l'électricité pour une dizaine de serveurs :environ 2 000 kilowatt heure / semaine : soit une centaine d'euros par mois
- Coût hardware
- Coût opérationnel
- Évènement : Changement et réduction d’équipe
28/35#bigquery @aurelievache
- Coût hardware : 0 €
- Coût opé : 0 €
Passage à Google BigQuery
29/35#bigquery @aurelievache
Utilisation
30/35#bigquery @aurelievache
- Bien structurer ses données
- Split by date
- Utiliser le query cache
- Définir une date d’expiration lors de la création de la table
Astuces/Tips
31/35#bigquery @aurelievache
- Attention aux jointures
- Possibilité de partager un dataset/des rows à des collaborateurs
- Format date : UTC !
- Ne pas utiliser l'instruction SELECT * FROM
- UDF (User-Defined Functions)
Astuces/Tips
32/35#bigquery @aurelievache
- SLA : https://cloud.google.com/bigquery/sla
- Quotas : https://cloud.google.com/bigquery/quota-policy
- Prix : https://cloud.google.com/bigquery/#pricing
- Pricing calculator : https://cloud.google.com/products/calculator/
- SQL : https://cloud.google.com/bigquery/query-reference
- Tuto : Real-time data analysis with Kubernetes, Cloud Pub/Sub, and BigQuery
Liens
33/35#bigquery @aurelievache
Pour aller plus loin ...
34/35#bigquery @aurelievache
SELECT questions FROM meetup:TDS.bigquery
35/35#bigquery @aurelievache