Amazon Web Services
AWS es una plataforma de computación en la nube ofrecida por Amazon. A continuación, voy a mostrar como crear una base de datos de MySQL mediante Amazon RDS, y cómo cargar los datos a través de Python.
1- En el asistente de creación, en opciones del motor, selecciono MySQL.
2- Se escoge la plantilla de capa gratuita. Por último, se configuran las credenciales, se deshabilita el escalado automático de almacenamiento, y se activa el acceso público a la base de datos.
CARGA DE DATOS A TRAVÉS DE PYTHON
1- Conexión a la base de datos. Después, se definen 4 variables, que son el nombre de la base de datos, así como el nombre de las 3 tablas dentro de esa base de datos. Además, se crea un cursor para ejecutar comandos SQL en la base de datos, y se crea y se selecciona la misma.
2- Se crean las 3 tablas, especificando las columnas de cada una con sus tipos de datos y sus restricciones.
3- Se carga y se lee el archivo con los datos, es este caso, un archivo Excel. Después, se itera sobre cada fila del dataframe para acceder a los valores de las columnas utilizando ‘row’. Para cada fila se extraen los valores y se almacenan para agregarlos a la lista ‘registros’. Posteriormente se construye una consulta SQL de inserción incluyendo el nombre de la tabla y los nombres de las columnas. Por último, se utiliza la anotación %s para representar los valores que se insertarán posteriormente utilizando parámetros de consulta.
4- Se insertan de forma masiva los registros en lotes. Primero, se define el tamaño del lote que determinará cuantos registros se insertarán en cada iteración. Después, se itera sobre la lista ‘registros’, por lo que para cada bucle, se toma un lote de registros del tamaño especificado anteriormente. ‘Lote_registros’ contendrá los registros desde el índice i, hasta el índice final no inclusivo del lote. Por último, se utiliza el método ‘executemany()’ para ejecutar la consulta varias veces con diferentes conjuntos de datos, y se hace ‘commit()’ para aplicar los cambios en la base de datos.
5- Se repite el mismo proceso para las dos tablas restantes.