Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описывается использование записной книжки Azure Databricks для импорта данных из CSV-файла, содержащего данные имени ребенка из health.data.ny.gov в том каталога Unity с помощью Python, Scala и R. Вы также узнаете, как изменить имя столбца, визуализировать данные и сохранить их в таблице.
Требования
Чтобы выполнить задачи в этой статье, необходимо выполнить следующие требования:
- Рабочая область должна быть с каталогом Unity. Сведения о начале работы с каталогом Unity см. в статье "Начало работы с каталогом Unity".
- У вас должна быть привилегия
WRITE VOLUMEна томе, привилегияUSE SCHEMAна родительской схеме и привилегияUSE CATALOGв родительском каталоге. - Необходимо иметь разрешение на использование существующего вычислительного ресурса или создать новый вычислительный ресурс. См. Compute или обратитесь к администратору Databricks.
Совет
Полный записной книжки для этой статьи см. в разделе "Импорт и визуализация записных книжек данных".
Шаг 1. Создание записной книжки
Чтобы создать записную книжку в рабочей области, нажмите кнопку
"Создать" на боковой панели и нажмите кнопку "Записная книжка". Пустая записная книжка открывается в рабочей области.
Дополнительные сведения о создании записных книжек и управлении ими см. в статье Управление записными книжками.
Шаг 2. Определение переменных
На этом шаге вы определите переменные для использования в примере записной книжки, создаваемой в этой статье.
Скопируйте и вставьте следующий код в новую пустую ячейку записной книжки. Замените
<catalog-name>,<schema-name>и<volume-name>каталогом, схемой и именами томов для тома каталога Unity. При необходимости замените значениеtable_nameименем таблицы. Данные имени ребенка будут сохранены в этой таблице далее в этой статье.Нажмите
Shift+Enter, чтобы запустить ячейку и создать пустую ячейку.Питон
catalog = "<catalog_name>" schema = "<schema_name>" volume = "<volume_name>" download_url = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv" file_name = "baby_names.csv" table_name = "baby_names" path_volume = "/Volumes/" + catalog + "/" + schema + "/" + volume path_table = catalog + "." + schema print(path_table) # Show the complete path print(path_volume) # Show the complete pathязык программирования Scala
val catalog = "<catalog_name>" val schema = "<schema_name>" val volume = "<volume_name>" val downloadUrl = "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv" val fileName = "baby_names.csv" val tableName = "baby_names" val pathVolume = s"/Volumes/${catalog}/${schema}/${volume}" val pathTable = s"${catalog}.${schema}" print(pathVolume) // Show the complete path print(pathTable) // Show the complete pathР
catalog <- "<catalog_name>" schema <- "<schema_name>" volume <- "<volume_name>" download_url <- "https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv" file_name <- "baby_names.csv" table_name <- "baby_names" path_volume <- paste("/Volumes/", catalog, "/", schema, "/", volume, sep = "") path_table <- paste(catalog, ".", schema, sep = "") print(path_volume) # Show the complete path print(path_table) # Show the complete path
Шаг 3. Импорт CSV-файла
На этом шаге вы импортируете CSV-файл, содержащий данные имени ребенка из health.data.ny.gov в том каталога Unity.
Скопируйте и вставьте следующий код в новую пустую ячейку записной книжки. Этот код копирует файл
rows.csvиз health.data.ny.gov в том каталога Unity с помощью команды Databricks dbutuils.Нажмите
Shift+Enter, чтобы запустить ячейку, а затем перейдите к следующей ячейке.Питон
dbutils.fs.cp(f"{download_url}", f"{path_volume}" + "/" + f"{file_name}")язык программирования Scala
dbutils.fs.cp(downloadUrl, s"${pathVolume}/${fileName}")Р
dbutils.fs.cp(download_url, paste(path_volume, "/", file_name, sep = ""))
Шаг 4. Загрузка данных CSV в кадр данных
На этом шаге вы создадите кадр данных с именем df из CSV-файла, который ранее был загружен в том каталога Unity с помощью метода spark.read.csv.
Скопируйте и вставьте следующий код в новую пустую ячейку записной книжки. Этот код загружает данные имени ребенка в кадр данных
dfиз CSV-файла.Нажмите
Shift+Enter, чтобы запустить ячейку, а затем перейдите к следующей ячейке.Питон
df = spark.read.csv(f"{path_volume}/{file_name}", header=True, inferSchema=True, sep=",")язык программирования Scala
val df = spark.read .option("header", "true") .option("inferSchema", "true") .option("delimiter", ",") .csv(s"${pathVolume}/${fileName}")Р
# Load the SparkR package that is already preinstalled on the cluster. library(SparkR) df <- read.df(paste(path_volume, "/", file_name, sep=""), source="csv", header = TRUE, inferSchema = TRUE, delimiter = ",")
Данные можно загрузить из многих поддерживаемых форматов файлов.
Шаг 5. Визуализация данных из записной книжки
На этом шаге вы используете метод display() для отображения содержимого кадра данных в таблице в записной книжке, а затем визуализируете данные в диаграмме облака слов.
Скопируйте и вставьте следующий код в новую пустую ячейку записной книжки, а затем щелкните Запустить ячейку, чтобы отобразить данные в таблице.
Питон
display(df)язык программирования Scala
display(df)Р
display(df)Просмотрите результаты в таблице.
Рядом с вкладкой таблицы
щелкните и щелкните визуализации .В редакторе визуализации щелкните "Тип визуализации" и убедитесь, что выбрано облако Word.
В столбце словубедитесь, что выбран
First Name.В разделе "Ограничения частот"щелкните
35.
Нажмите кнопку Сохранить.
Шаг 6. Сохраните DataFrame в таблицу
Внимание
Чтобы сохранить DataFrame в Unity Catalog, необходимо иметь права CREATE на таблицу в данном каталоге и схеме. Сведения о разрешениях в каталоге Unity см. в разделе Привилегии и защищаемые объекты в каталоге Unity и Управление привилегиями в каталоге Unity.
Скопируйте и вставьте следующий код в пустую ячейку записной книжки. Этот код заменяет пробел в имени столбца. Специальные символы, например пробелы, не допускаются в именах столбцов. Этот код использует метод Apache Spark
withColumnRenamed().Питон
df = df.withColumnRenamed("First Name", "First_Name") df.printSchemaязык программирования Scala
val dfRenamedColumn = df.withColumnRenamed("First Name", "First_Name") // when modifying a DataFrame in Scala, you must assign it to a new variable dfRenamedColumn.printSchema()Р
df <- withColumnRenamed(df, "First Name", "First_Name") printSchema(df)Скопируйте и вставьте следующий код в пустую ячейку записной книжки. Этот код сохраняет содержимое кадра данных в таблицу в каталоге Unity с помощью переменной имени таблицы, определенной в начале этой статьи.
Питон
df.write.mode("overwrite").saveAsTable(f"{path_table}" + "." + f"{table_name}")язык программирования Scala
dfRenamedColumn.write.mode("overwrite").saveAsTable(s"${pathTable}.${tableName}")Р
saveAsTable(df, paste(path_table, ".", table_name), mode = "overwrite")Чтобы убедиться, что таблица сохранена, щелкните каталог на левой боковой панели, чтобы открыть пользовательский интерфейс обозревателя каталогов. Откройте каталог, а затем схему, чтобы убедиться, что таблица появится.
Нажмите на таблицу, чтобы просмотреть схему таблицы на вкладке Обзор.
Щелкните Образец данных, чтобы просмотреть 100 строк данных из таблицы.
Импорт и визуализация записных книжек данных
Чтобы выполнить действия, описанные в этой статье, используйте одну из следующих записных книжек. Замените <catalog-name>, <schema-name>и <volume-name> каталогом, схемой и именами томов для тома каталога Unity. При необходимости замените значение table_name именем таблицы.
Питон
Импорт данных из CSV с помощью Python
язык программирования Scala
Импорт данных из CSV с помощью Scala
Р
Импорт данных из CSV с помощью R
Следующие шаги
- Дополнительные сведения о методах анализа данных (EDA) см. в руководстве по методам EDA с помощью записных книжек Databricks.
- Сведения о создании конвейера ETL (извлечение, преобразование и загрузка) см. в руководстве по созданию конвейера ETL с помощью декларативных конвейеров Lakeflow Spark и учебника. Создание конвейера ETL с помощью Apache Spark на платформе Databricks