En termes simples, S3 est le service de stockage cloud d'AWS, qui peut stocker de grandes quantités de données.
・ Qu'est-ce qu'Amazon S3? Http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/Welcome.html
Puisqu'il était nécessaire d'agréger les données sur S3 et de les afficher sous forme de graphique cette fois, je vais vous expliquer le script pour cela.
Environnement de travail: macOS Sierra version 10.12.5 Python 2.7.10
boto Vous devez d'abord utiliser boto pour accéder à AWS à partir de Python. La dernière version est boto3, alors installez boto3.
$ pip install boto3
Après avoir installé boto3 et l'avoir importé dans Python, accédez à S3 comme suit. En outre, spécifiez le nom du compartiment que vous souhaitez récupérer et récupérer les données.
import boto3
s3_resource = boto3.resource('s3')
bucket = s3_resource.Bucket('bucket_name')
Il y a beaucoup de données dans le compartiment, donc s'il y a un objet que vous souhaitez récupérer, spécifiez-le avec un filtre. Si vous avez besoin de tous, obtenez-les avec tous.
obj = bucket.objects.filter(Prefix='filter_word')
obj = bucket.objects.all()
Téléchargez les données de l'objet. Le nom de fichier est le nom lors de l'enregistrement local. L'extension doit être la même que le fichier situé dans S3.
bucket.download_file(Key=obj.key, Filename='file_name')
Vous pouvez maintenant télécharger les données S3. Après cela, ouvrez le fichier et agrégez-le à l'aide d'une liste ou d'un dictionnaire en fonction du format des données.
Ensuite, tracez les données agrégées. Les données agrégées sont enregistrées sous forme de fichier texte au format suivant. Les valeurs numériques à ce moment des noms 1 à 6 sont enregistrées pour chaque heure.
Temps 1
Nom 1:Numéro 1-1
Nom 2:Numéro 1-2
Nom 3:Numéro 1-3
Nom 4:Numéro 1-4
Nom 5:Numéro 1-5
Nom 6:Numéro 1-6
Temps 2
Nom 1:Numéro 2-1
Nom 2:Numéro 2-2
Nom 3:Numéro 2-3
Nom 4:Numéro 2-4
Nom 5:Numéro 2-5
Nom 6:Numéro 2-6
Temps 3
・ ・ ・ ・ ・ ・ ・ ・ ・
・ ・ ・ ・ ・ ・ ・ ・
・ ・ ・ ・ ・ ・ ・
・ ・ ・ ・ ・ ・ ・
Utilisez Pandas et matplotlib pour tracer cela. Pandas est une bibliothèque qui facilite la gestion des données dans Pyhton. Vous pouvez facilement créer un graphique en utilisant le format de bloc de données. matplotlib est utilisé pour dessiner des graphiques. Les deux seront installés avec pip.
Vous pouvez créer un bloc de données en le substituant directement, mais vous pouvez également le créer à partir d'un dictionnaire, donc créez un dictionnaire, puis convertissez-le au format de bloc de données. Ouvrez un fichier texte de données agrégées, créez un dictionnaire et entrez une liste de noms pour les clés et de nombres pour les valeurs. Après la saisie, créez un graphique au format de trame de données.
import pandas as pd
with open('data.txt')as f:
line = f.readline()
while line:
results = line.rstrip()
if ':' in results:
data = results.split(':')
results_dict[data[0]].append(int(data[1]))
line=f.readline()
#Transformez le dictionnaire en un bloc de données
my_df = pd.DataFrame.from_dict(results_dict)
#Créer un graphique
my_df.plot(title='graph_title')
Vous venez de créer un graphique. Enfin, utilisez matplotlib pour l'afficher.
import matplotlib.pyplot as plt
plt.show()
Vous pouvez utiliser une bibliothèque appelée seaborn pour créer des graphiques plus à la mode. Il existe différents graphiques et usages sur la page officielle. https://seaborn.pydata.org/examples/index.html
Recommended Posts