Exploración de los datos de origen de una canalización de datos
Un primer paso común para crear una canalización de datos es comprender los datos de origen de la canalización. En este paso, ejecutará los comandos de utilidades de Databricks y PySpark en un cuaderno para examinar los datos de origen y los artefactos.
Para más información sobre el análisis exploratorio de datos, consulte Análisis de datos exploratorios en Azure Databricks: Herramientas y técnicas.
Video: Introducción a los cuadernos de Databricks
Para obtener una introducción a los cuadernos de Databricks, vea este vídeo:
Creación de un cuaderno de exploración de datos
En la barra lateral, haga clic en Nuevo y seleccione Notebook en el menú. El cuaderno se abre con un nombre predeterminado que puede reemplazar.
Escriba un nombre para el cuaderno, por ejemplo
Explore songs data
. De forma predeterminada:- Python es el lenguaje seleccionado.
- El cuaderno está asociado al último clúster que usó. En este caso, el clúster que creó en el Paso 1: Crear un clúster.
Para ver el contenido del directorio que contiene el conjunto de datos, escriba lo siguiente en la primera celda del cuaderno, haga clic en y seleccione Ejecutar celda.
%fs ls "/databricks-datasets/songs"
path name tamaño modificationTime dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000 dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846 dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846
Exploración de los datos
El archivo LÉAME tiene información sobre el conjunto de datos, incluida una descripción del esquema de datos. La información del esquema se usa en el paso siguiente al ingerir los datos. Para ver el contenido del archivo README, haga clic en en el menú de acciones de celda, seleccione Agregar celda a continuación, escriba lo siguiente en la nueva celda, haga clic en y seleccione Ejecutar celda.
%fs head --maxBytes=10000 "/databricks-datasets/songs/README.md"
Sample of Million Song Dataset =============================== ## Source This data is a small subset of the [Million Song Dataset](http://labrosa.ee.columbia.edu/millionsong/). The original data was contributed by The Echo Nest. Prepared by T. Bertin-Mahieux <tb2332 '@' columbia.edu> ## Attribute Information - artist_id:string - artist_latitude:double - artist_longitude:double - artist_location:string - artist_name:string - duration:double - end_of_fade_in:double - key:int - key_confidence:double - loudness:double - release:string - song_hotnes:double - song_id:string - start_of_fade_out:double - tempo:double - time_signature:double - time_signature_confidence:double - title:string - year:double - partial_sequence:int ...
Los registros usados en este ejemplo están en el directorio
/databricks-datasets/songs/data-001/
. Para ver el contenido de este directorio, haga clic en en el menú de acciones de celda, seleccione Agregar celda a continuación, escriba lo siguiente en la nueva celda, haga clic en y seleccione Ejecutar celda.%fs ls "/databricks-datasets/songs/data-001"
path name tamaño modificationTime dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000 dbfs:/databricks-datasets/songs/data-001/part-00000 part-00000 52837 1454547464000 dbfs:/databricks-datasets/songs/data-001/part-00001 part-00001 52469 1454547465000 Dado que los nombres de archivo y LÉAME no indican el formato de archivo, puede ver una muestra de los registros para comprender mejor el contenido y el formato de cada registro. Para leer y mostrar los diez primeros registros de uno de los archivos de datos, haga clic en en el menú de acciones de celda, seleccione Agregar celda a continuación, escriba lo siguiente en la nueva celda, haga clic en y seleccione Ejecutar celda.
%fs head --maxBytes=10000 "/databricks-datasets/songs/data-001/part-00000"
AR81V6H1187FB48872 nan nan Earl Sixteen 213.7073 0.0 11 0.419 -12.106 Soldier of Jah Army nan SOVNZSZ12AB018A9B8 208.289 125.882 1 0.0 Rastaman 2003 -- ARVVZQP11E2835DBCB nan nan Wavves 133.25016 0.0 0 0.282 0.596 Wavvves 0.471578247701 SOJTQHQ12A8C143C5F 128.116 89.519 1 0.0 I Want To See You (And Go To The Movies) 2009 -- ARFG9M11187FB3BBCB nan nan Nashua USA C-Side 247.32689 0.0 9 0.612 -4.896 Santa Festival Compilation 2008 vol.1 nan SOAJSQL12AB0180501 242.196 171.278 5 1.0 Loose on the Dancefloor 0 225261 ...
Puede observar algunas cosas sobre los datos desde la visualización de una muestra de los registros. Usará estas observaciones más adelante al procesar los datos:
- Los registros no contienen un encabezado. En su lugar, el encabezado se almacena en un archivo independiente en el mismo directorio.
- Los archivos parecen estar en formato de valores separados por tabulaciones (TSV).
- Faltan algunos campos o no son válidos.
- Los registros no contienen un encabezado. En su lugar, el encabezado se almacena en un archivo independiente en el mismo directorio.
Para explorar y analizar aún más los datos, use estas observaciones para cargar los datos de canción con formato de TSV en un DataFrame de PySpark. Para ello, haga clic en en el menú de acciones de celda, seleccione Agregar celda a continuación, escriba el código siguiente en la nueva celda, y, a continuación, haga clic en >Ejecutar celda.
df = spark.read.format('csv').option("sep", "\t").load('dbfs:/databricks-datasets/songs/data-001/part-00000') df.display()
Dado que falta un encabezado en el archivo de datos, los nombres de columna se muestran como
_c0
,_c1
, etc. Cada columna se interpreta comostring
independientemente del tipo de datos real. La ingesta de los datos sin procesar en el paso siguiente muestra un ejemplo de cómo puede imponer un esquema válido al cargar los datos.