Поделиться через


Изучение исходных данных для конвейера данных

Первым шагом при создании конвейера данных является понимание исходных данных для конвейера. На этом шаге вы запустите команды Databricks Utilities и PySpark в записной книжке для изучения исходных данных и артефактов.

Дополнительные сведения об анализе аналитических данных см. в статье "Анализ данных Exploratory" в Azure Databricks: сервис и методы.

Видео: общие сведения о записных книжках Databricks

Общие сведения о записных книжках Databricks см. в этом видео:

Создание записной книжки для исследования данных

  1. На боковой панели нажмите кнопку "Создать" и выберите Значок "Записная книжка" в меню. Записная книжка открывается с именем по умолчанию, которое можно заменить.

  2. Введите имя записной книжки, например Explore songs data. По умолчанию:

    • Python — это выбранный язык.
    • Записная книжка подключена к последнему используемому кластеру. В этом случае кластер, созданный на шаге 1. Создание кластера.
  3. Чтобы просмотреть содержимое каталога, содержащего набор данных, введите следующее в первую ячейку записной книжки, щелкните и выберите Меню запуска"Выполнить ячейку".

    %fs ls "/databricks-datasets/songs/data-001"
    
    path name size modificationTime
    1 dbfs:/databricks-datasets/songs/README.md README.md 1719 1454620183000
    2 dbfs:/databricks-datasets/songs/data-001/ data-001/ 0 1672791237846
    3 dbfs:/databricks-datasets/songs/data-002/ data-002/ 0 1672791237846

Изучение данных

  1. Файл README содержит сведения о наборе данных, включая описание схемы данных. Сведения о схеме используются на следующем шаге при приеме данных. Чтобы просмотреть содержимое README, щелкните в меню действий ячейки, выберите Down Caret"Добавить ячейку ниже", введите следующую ячейку в новой ячейке, щелкните и выберите Меню запуска"Выполнить ячейку".

    %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
    ...
    
  2. Записи, используемые в этом примере, находятся в каталоге /databricks-datasets/songs/data-001/ . Чтобы просмотреть содержимое этого каталога, щелкните в меню действий ячейки, выберите Down Caret"Добавить ячейку ниже", введите следующую ячейку в новой ячейке, щелкните и выберите Меню запуска"Выполнить ячейку".

    %fs ls "/databricks-datasets/songs/data-001"
    
    path name size modificationTime
    1 dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000
    2 dbfs:/databricks-datasets/songs/data-001/part-00000 часть-00000 52837 1454547464000
    3 dbfs:/databricks-datasets/songs/data-001/part-00001 часть-00001 52469 1454547465000
  3. Так как имена README и файлов не указывают формат файла, можно просмотреть пример записей, чтобы лучше понять содержимое и формат каждой записи. Чтобы прочитать и отобразить первые десять записей из одного из файлов данных, щелкните в меню действий ячейки, выберите Down Caret"Добавить ячейку ниже", введите следующую команду в новой ячейке, щелкните и выберите Меню запуска"Выполнить ячейку".

    %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
     ...
    

    Вы можете наблюдать за несколькими сведениями о данных при просмотре примера записей. Эти наблюдения будут использоваться позже при обработке данных:

    • Записи не содержат заголовок. Вместо этого заголовок хранится в отдельном файле в одном каталоге.
      • Файлы отображаются в формате табуляции (TSV).
      • Некоторые поля отсутствуют или недопустимы.
  4. Для дальнейшего изучения и анализа данных используйте эти наблюдения для загрузки отформатированных данных песни TSV в кадр данных PySpark. Для этого щелкните в меню действий ячейки, выберите Down Caret "Добавить ячейку ниже", введите следующий код в новой ячейке и нажмите кнопку>Меню запуска "Выполнить ячейку".

    df = spark.read.format('csv').option("sep", "\t").load('dbfs:/databricks-datasets/songs/data-001/part-00000')
    df.display()
    

    Так как файл данных отсутствует заголовок, имена столбцов отображаются как _c0, _c1и т. д. Каждый столбец интерпретируется как фактический string тип данных. Прием необработанных данных на следующем шаге показывает пример того, как можно навязать допустимую схему при загрузке данных.

    Кадр данных, созданный из необработанных песен