Gran parte de los datos del mundo se encuentra en buckets de Amazon S3.
En esta guía, aprenderemos a consultar esos datos con chDB.
Primero, creemos un entorno virtual:
Y ahora instalaremos chDB.
Asegúrate de tener la versión 2.0.2 o posterior:
Y ahora vamos a instalar IPython:
Vamos a usar ipython para ejecutar los comandos del resto de la guía, que puedes abrir ejecutando:
También puedes usar el código en un script en Python o en tu notebook favorito.
Listar archivos de un bucket de S3
Empecemos por listar todos los archivos de un bucket de S3 que contiene reseñas de Amazon.
Para ello, podemos usar la función de tabla s3 y pasar la ruta de un archivo o un comodín para un conjunto de archivos.
Si pasas solo el nombre del bucket, se producirá una excepción.
También vamos a usar el formato de entrada One para que el archivo no se analice; en su lugar, se devuelve una sola fila por archivo y podemos acceder al archivo mediante la columna virtual _file y a la ruta mediante la columna virtual _path.
Este bucket solo contiene archivos Parquet.
Consultar archivos en un bucket de S3
A continuación, veremos cómo consultar esos archivos.
Si queremos contar el número de filas en cada uno de esos archivos, podemos ejecutar la siguiente consulta:
También podemos proporcionar la URI HTTP de un bucket de S3 y obtendremos los mismos resultados:
Veamos el esquema de estos archivos Parquet con la cláusula DESCRIBE:
Ahora calculemos las categorías de productos con más reseñas, así como la valoración media en estrellas:
Consultar archivos en un bucket privado de S3
Si vamos a consultar archivos en un bucket privado de S3, debemos proporcionar una clave de acceso y una clave secreta.
Podemos pasar esas credenciales a la función de tabla s3:
¡Esta consulta no funcionará porque se trata de un bucket público!
Una alternativa es usar named collections, pero este enfoque aún no es compatible con chDB.