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


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

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

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

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

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

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

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

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

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

    %fs ls "/databricks-datasets/songs"
    
    path name size 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

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

  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
    dbfs:/databricks-datasets/songs/data-001/header.txt header.txt 377 1454633901000
    dbfs:/databricks-datasets/songs/data-001/part-00000 часть-00000 52837 1454547464000
    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 независимо от фактического типа данных. Загрузка необработанных данных в следующем шаге показывает пример навязывания допустимой схемы при загрузке данных.

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