[PYTHON] Essayez d'acquérir des données lors de la redirection de port vers RDS avec anaconda.

introduction

Lorsque vous analysez des données, vous pouvez constater que les données sont dans la base de données en premier lieu. Dans ce cas, ce serait bien s'il était local, mais s'il est dans RDS d'AWS, il est nécessaire de se connecter à distance et d'acquérir les données. Dans ce cas, une façon est de l'obtenir par redirection de port localement et à distance. Cette fois, je voudrais faire cela en utilisant anaconda.

Préparation

Installez ce qui suit avec conda ou pip.

* Utilisé pour la redirection de port.
sshtunnel
* Utilisé pour se connecter à mysql.
mysql.connector
pandas

Redirection de port

Importez sshtunnel et port forward.

* Importez ce dont vous avez besoin
from sshtunnel import SSHTunnelForwarder
* Paramètres de redirection de port
host = 'Hôte distant'
localhost = '127.0.0.1'
ssh_username = 'Nom d'utilisateur'
ssh_private_key = 'Emplacement de la clé privée'
server = SSHTunnelForwarder(
          (host, 22),
          ssh_private_key_password="Mot de passe de la clé privée",
          ssh_username=ssh_username,
          ssh_private_key=ssh_private_key,
          local_bind_address=('0.0.0.0',Port local à lier),
          remote_bind_address=(localhost,Port distant à lier))

server.start()
* Arrêtez-vous lorsque vous souhaitez mettre fin au transfert de port.
server.stop()

Redirection de port pour obtenir des données de la base de données

Avec la redirection de port effectuée avec la source ci-dessus Il se connecte à la base de données, récupère les données et affiche les données dans un bloc de données.

import mysql.connector
import pandas as pd

#Informations de connexion à la base de données
connect = mysql.connector.connect(user='Nom d'utilisateur DB', password='Mot de passe DB', host='127.0.0.1',port='Destination de redirection de port', database='Nom de la base de données', charset='utf8')
cursor = connect.cursor()

cursor.execute("select * from table WHERE id = 1")
result = cursor.fetchall()
dataframe = pd.DataFrame(result)
dataframe

À la fin

Maintenant que vous pouvez obtenir des données directement avec anaconda, vous pouvez obtenir des données facilement.

Recommended Posts

Essayez d'acquérir des données lors de la redirection de port vers RDS avec anaconda.
Essayez d'obtenir des métriques CloudWatch avec la source de données python re: dash
Essayez de convertir en données ordonnées avec les pandas
Essayez d'agréger les données de musique doujin avec des pandas
J'ai essayé d'obtenir des données CloudWatch avec Python
Obtenez des données Amazon RDS (PostgreSQL) à l'aide de SQL avec pandas
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
Essayez d'extraire la table de données d'Azure SQL Server avec pyodbc
Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (Append)
Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (encodage)
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
Essayez d'utiliser le folium avec anaconda
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (conversion)
Essayez d'extraire les caractéristiques des données de capteur avec CNN
Essayez de résoudre l'itinéraire le plus court avec les données sociales Python + NetworkX +
Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (Drop)
Lien pour commencer avec python
Essayez d'exploiter Facebook avec Python
Comment gérer les données déséquilibrées
[Python] Obtenez des données économiques avec DataReader
Essayez de profiler avec ONNX Runtime
Essayez de mettre des données dans MongoDB
Comment démarrer avec Scrapy
Comment démarrer avec Python
Comment démarrer avec Django
Comment augmenter les données avec PyTorch
Essayez d'obtenir des statistiques en utilisant e-Stat
Essayez et apprenez iptablse, port forward
Essayez de produire de l'audio avec M5 STACK
Gérez vos données avec AWS RDS
Essayez les données en parallèle avec TensorFlow distribué
Comment installer Anaconda avec pyenv
Essayez d'imaginer les données d'élévation du National Land Research Institute avec Python
Essayez d'obtenir l'état de la surface de la route en utilisant de grandes données de gestion de la surface de la route
Obtenez des données supplémentaires vers LDAP avec python
Notes d'étape pour démarrer avec django
Essayez de reproduire un film couleur avec Python
Essayez de vous connecter à qiita avec Python
Changer l'environnement Python 64 bits en environnement 32 bits avec Anaconda
[Note] Obtenir des données de PostgreSQL avec Python
Comment obtenir l'identifiant du parent avec sqlalchemy
Essayez de travailler avec des données binaires en Python
J'ai essayé de commencer avec Hy
Obtenez des données de Cloudant avec le flacon Bluemix
Convertir des données Excel en JSON avec python
Obtenez des réponses à des tweets spécifiques avec tweepy
Envoyer des données à l'API DRF avec Vue.js
Convertissez des données FX 1 minute en données 5 minutes avec Python
Essayez rapidement de visualiser votre ensemble de données avec des pandas
Premier YDK à essayer avec Cisco IOS-XE
Écraser les données dans RDS avec AWS Glue
Obtenez des données d'un oscilloscope avec pyVISA
Essayez de générer une image avec aliénation
Comment lire les données de problème avec Paiza
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for