Maison  >  Article  >  développement back-end  >  Comment utiliser Google BigQuery pour le calcul et le stockage du Big Data dans le développement PHP

Comment utiliser Google BigQuery pour le calcul et le stockage du Big Data dans le développement PHP

王林
王林original
2023-06-25 19:58:22801parcourir

Avec la quantité croissante de données, les systèmes de gestion de bases de données traditionnels ne peuvent plus répondre aux besoins de stockage et de calcul du Big Data. Google BigQuery, en tant que nouveau type de service de stockage et de calcul cloud, est utilisé par de plus en plus d'entreprises et de développeurs. Cet article explique comment utiliser Google BigQuery pour le calcul et le stockage du Big Data dans le développement PHP.

1. Qu'est-ce que Google BigQuery

Google BigQuery est un puissant service d'analyse de Big Data dans le cloud qui peut interroger efficacement des données massives via des instructions SQL et les stocker via Google Cloud Storage. Google BigQuery permet une analyse rapide des données sans les dépenses et le stress liés à la gestion d'un serveur ou d'une base de données. Google BigQuery prend en charge le langage SQL et peut gérer des données au niveau du pétaoctet.

2. Quelles préparations sont nécessaires pour utiliser le compte Google Cloud Platform

  1. Google Cloud Platform : Avant d'utiliser Google BigQuery, vous devez demander un compte Google Cloud Platform et activer le service Google BigQuery.
  2. Installation du SDK Google Cloud : l'utilisation de Google BigQuery dans le développement local nécessite l'installation du SDK Google Cloud et la réalisation des configurations nécessaires. L'installation et la configuration peuvent être effectuées via le site officiel ou la ligne de commande.
  3. Identifiants API : avant de développer avec l'API Google BigQuery, vous devez obtenir les informations d'identification de l'API Google. Vous devez d'abord activer l'API Google BigQuery sur Google Cloud Console et créer un identifiant API. Les types d'informations d'identification incluent l'ID client OAuth2.0, la clé de compte de service et la clé API. Parmi eux, l'ID client OAuth2.0 peut être utilisé dans les applications Web, la clé du compte de service peut être utilisée dans les applications exécutées sur le backend et la clé API peut être utilisée dans des applications HTTP/REST simples.

3. Utiliser Google BigQuery pour les requêtes de données

Dans le développement PHP, nous pouvons utiliser la bibliothèque cliente de l'API Google pour utiliser l'API Google BigQuery. Tout d'abord, vous devez créer un projet dans Google Cloud Console et activer le service API BigQuery dans le projet. Ensuite, créez un compte de service dans Google Cloud Console et obtenez le fichier d'informations d'identification certificates.json. Enfin, téléchargez et installez la bibliothèque client Google API PHP.

Ce qui suit est l'implémentation du code de la requête de données à l'aide de Google BigQuery :

<?php
require_once __DIR__ . '/vendor/autoload.php';
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . __DIR__ . '/credentials.json');
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Bigquery::BIGQUERY);

// 设置查询选项
$options = [
    'useLegacySql' => false
];

// 查询SQL语句
$sql = 'SELECT count(*) as count FROM `project.dataset.table`';

// 创建BigQuery服务对象
$service = new Google_Service_Bigquery($client);

// 从BigQuery查询数据
$results = $service->jobs->query('project-id', new Google_Service_Bigquery_QueryJobConfiguration([
    'query' => $sql,
    'useLegacySql' => false
]));

// 从结果中获取行数据
if ($rows = $results->getRows()) {
    $count = $rows[0]['f'][0]['v'];
    echo 'count: ' . $count . PHP_EOL;
}

Dans le code ci-dessus, nous créons un objet de service BigQuery à l'aide de la bibliothèque client PHP de l'API Google. Ensuite, nous définissons les options de requête, interrogeons les données via des instructions SQL et obtenons des données de ligne à partir des résultats de la requête. Enfin, nous pouvons effectuer un traitement des données sur les résultats de la requête si nécessaire.

4. Utilisez Google BigQuery pour le stockage des données

Dans Google BigQuery, nous pouvons stocker des données dans des ensembles de données de différentes manières, notamment l'insertion par lots, l'insertion de données en streaming, l'importation de tables, etc. Ci-dessous, nous prendrons l'insertion par lots comme exemple pour présenter comment utiliser Google BigQuery pour le stockage de données.

  1. Création d'ensembles de données et de tables

Avant d'utiliser Google BigQuery pour le stockage de données, vous devez créer un ensemble de données et une table dans Google Cloud Console. En créant des ensembles de données et des tables, nous pouvons spécifier le type et la structure des données que nous souhaitons stocker.

  1. Installer l'extension PHP de Google Cloud BigQuery

L'utilisation de Google BigQuery pour le stockage de données nécessite l'installation de l'extension PHP de Google Cloud BigQuery, qui peut être installée sur le site officiel ou en ligne de commande. Une fois l'installation terminée, vous devez ajouter l'extension Google Cloud BigQuery au fichier de configuration PHP.

  1. Écrire un programme PHP

Voici un exemple de programme PHP utilisant Google BigQuery pour le stockage de données :

<?php
require_once __DIR__ . '/vendor/autoload.php';
putenv('GOOGLE_APPLICATION_CREDENTIALS=' . __DIR__ . '/credentials.json');
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Bigquery::BIGQUERY);

// 数据集和表的名称
$datasetName = 'project.dataset';
$tableName = 'table';

// 插入数据
$service = new Google_Service_Bigquery($client);
$rows = [
    ['column1' => 'value1', 'column2' => 123],
    ['column1' => 'value2', 'column3' => 'value3']
];
$service->tabledata->insertAll($projectId, $datasetName, $tableName, new Google_Service_Bigquery_TableDataInsertAllRequest([
    'rows' => $rows
]));

Dans l'exemple ci-dessus, nous avons utilisé la bibliothèque client PHP de l'API Google pour créer un objet de service BigQuery, en spécifiant le nom de l'ensemble de données et de la table, et tabledata->insertAll()方法将数据插入到数据表中。其中,$rows est la ligne de données à insérer. Chaque ligne de données est un tableau associatif (la clé est le nom de la colonne et la valeur est la valeur de la colonne).

Résumé

En tant que nouveau type de service de stockage et de calcul cloud, Google BigQuery offre aux développeurs de puissantes capacités d'analyse du Big Data. Dans le développement PHP, nous pouvons utiliser l'API Google BigQuery via la bibliothèque client PHP Google API pour obtenir une requête et un stockage efficaces des données. J'espère que cet article vous aidera à utiliser Google BigQuery dans le développement PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn