Comment utiliser BigQuery en Python

Des informations détaillées sur la gestion de BigQuery en Python sont disponibles à l'adresse ici. Gérer des ensembles de données si vous souhaitez travailler avec des ensembles de données Gérer les tables si vous souhaitez manipuler des tables Il y a une description dans.

Créer une table

Créer une table


from google.cloud import bigquery

#Le nom PJ doit être spécifié lors de l'utilisation avec Colab
client = bigquery.Client()
client = bigquery.Client(project=project_id) # "your-project"

schema = [
    bigquery.SchemaField("full_name", "STRING", mode="REQUIRED"),
    bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"),
]

# table_id = "your-project.your_dataset.your_table_name"
table = bigquery.Table(table_id, schema=schema)
table = client.create_table(table)  # Make an API request.

print(
    "Created table {}.{}.{}".format(table.project, table.dataset_id, table.table_id)
)

Comment spécifier le schéma lors de la création d'une table

Les détails de la déclaration peuvent être trouvés à ici. Pour plus d'informations sur la spécification du schéma, consultez le site Web officiel de BigQuery. Modifiez field_type et mode selon vos besoins.

déclaration


SchemaField(name, field_type, mode='', description=None, fields=(), policy_tags=None)

Un exemple de spécification de schéma


#Chaîne(Il y a un blanc)
SchemaField(name, 'STRING', mode='NULLABLE')
#entier(Il y a un blanc)
SchemaField(name, 'INT64', mode='NULLABLE')
#Point flottant(Il y a un blanc)
SchemaField(name, 'FLOAT64', mode='NULLABLE')
#Date(Obligatoire)
SchemaField(name, 'DATE', mode='REQUIRED')
#Date et l'heure(Obligatoire)
SchemaField(name, 'DATETIME', mode='REQUIRED')

Comment exécuter une requête

Exécuter l'ordre


from google.cloud import bigquery

#Le nom PJ doit être spécifié lors de l'utilisation avec Colab
client = bigquery.Client()
client = bigquery.Client(project=project_id) # "your-project"

#Décrivez la requête que vous souhaitez exécuter
query = '''
select * from `tableID`
where ...
'''

client.query(query)

Comment insérer

Veuillez noter que vous pouvez insérer jusqu'à 10 000 lignes à la fois. Si vous souhaitez saisir plus de 10 000 lignes, vous pouvez utiliser la méthode décrite ci-dessous.

from google.cloud import bigquery

#Le nom PJ doit être spécifié lors de l'utilisation avec Colab
client = bigquery.Client()
client = bigquery.Client(project=project_id) # "your-project"

# table_id = "your-project.your_dataset.your_table_name"
table = client.get_table(table_id)  # Make an API request.

#Tableau bidimensionnel de listes
#Dans l'exemple, c'est un taple, mais il n'y a pas de problème avec la liste(Ci-dessous le cas avec deux colonnes)
#Cependant, le nombre de schémas et les tuples à l'intérieur(ou liste)Notez qu'une erreur se produira si le nombre d'éléments dans
rows_to_insert = [("string", num), ("string", num)]

errors = client.insert_rows(table, rows_to_insert)  # Make an API request.

#Lors de l'utilisation de pandas dataflame
errors = client.insert_rows(table, df.values.tolist())

if errors == []:
    print("New rows have been added.")

En supposant que dataflame est inclus dans df, il est possible de passer au tableau bidimensionnel de la liste ci-dessous

df.values.tolist()

En outre, si vous souhaitez insérer des données de plus de 10 000 lignes, divisez-les comme suit.

rows = len(df)
count = 0
while rows > 0:
  client.insert_rows(table, df[(count * 10000): ((count+1) * 10000)].values.tolist())
  rows = rows - 10000
  count = count + 1

Il peut y avoir une meilleure façon de l'écrire, mais il est possible de tout ajouter même s'il est supérieur à 10000 ci-dessus.

Recommended Posts

Comment utiliser BigQuery en Python
Pour faire fonctionner la station d'horodatage en Python
Connectez-vous à BigQuery avec Python
[REAPER] Comment jouer à Reascript avec Python
Comment utiliser tkinter avec python dans pyenv
Comment développer en Python
Comment convertir / restaurer une chaîne avec [] en python
Comment faire un calcul de hachage avec Salt en Python
Expliquez en détail comment créer un son avec python
Je veux travailler avec un robot en python.
[Efficacité du travail] Comment changer les noms de fichiers par lots avec Python
[Python] Comment faire PCA avec Python
Python: comment utiliser async avec
Comment collecter des images en Python
Comment démarrer avec Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment calculer la date avec python
Comment gérer le japonais avec Python
Comment extraire n'importe quel rendez-vous dans Google Agenda avec Python
Comment se connecter à AtCoder avec Python et soumettre automatiquement
[Introduction à Python] Comment utiliser la classe en Python?
Essayez de vous connecter à qiita avec Python
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
[Itertools.permutations] Comment créer une séquence en Python
Comment obtenir stacktrace en python
Comment afficher la table quatre-vingt-dix-neuf en python
Comment extraire une zone de polygone en Python
Comment faire un test de sac avec python
Comment vérifier la version d'opencv avec python
Comment afficher le japonais python avec lolipop
Comment changer de version de Python dans cloud9
Comment régler le contraste de l'image en Python
Comment utiliser __slots__ dans la classe Python
Comment remplir dynamiquement des zéros avec Python
Comment entrer le japonais avec les malédictions Python
Comment utiliser les expressions régulières en Python
Comment afficher Hello World en python
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
Comment installer python3 avec docker centos
Comment gérer l'erreur d'installation de python dans pyenv (BUILD FAILED)
Pour utiliser python, mettez pyenv sur macOS avec PyCall
Comment afficher les marques de légende en un avec le tracé Python 2D
Comment calculer "xx time" en un seul coup avec Python Timedelta
Comment installer Python
Comment installer python
Comment fonctionne Taple | Python
Comment télécharger avec Heroku, Flask, Python, Git (4)
Comment gérer les fuites de mémoire dans matplotlib.pyplot
Comment utiliser la bibliothèque C en Python
Comment lire un fichier CSV avec Python 2/3
Comment recevoir des arguments de ligne de commande en Python
Comment profiter de la programmation avec Minecraft (Ruby, Python)