Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Microsoft Spark Utilities (MSSparkUtils) — это встроенный пакет, который помогает легко выполнять распространённые задачи. Используйте MSSparkUtils для работы с файловыми системами, получения переменных среды, связывания записных книжек и работы с секретами. Пакет MSSparkUtils доступен в PySpark (Python), Scala, ноутбуках SparkR и конвейерах Fabric.
Примечание.
- MsSparkUtils официально переименован в NotebookUtils. Существующий код будет оставаться обратно совместимым и не приведет к критическим изменениям. Мы настоятельно рекомендуем обновиться до notebookutils, чтобы обеспечить постоянную поддержку и доступ к новым функциям. Пространство имен mssparkutils будет прекращено в будущем.
- NotebookUtils предназначен для работы с Spark 3.4 (Runtime v1.2) и более поздними версиями. Все новые функции и обновления будут поддерживаться исключительно с пространством имен notebookutils в дальнейшем.
Служебные программы файловой системы
mssparkutils.fs предоставляет утилиты для работы с различными файловыми системами, включая Azure Data Lake Storage 2-го поколения и Хранилище BLOB-объектов Azure. Убедитесь, что доступ к Azure Data Lake Storage 2-го поколения и Хранилищу BLOB-объектов Azure настроен правильно.
Чтобы получить общие сведения о доступных методах, выполните следующие команды:
from notebookutils import mssparkutils
mssparkutils.fs.help()
Выходные данные
mssparkutils.fs provides utilities for working with various FileSystems.
Below is overview about the available methods:
cp(from: String, to: String, recurse: Boolean = false): Boolean -> Copies a file or directory, possibly across FileSystems
mv(from: String, to: String, recurse: Boolean = false): Boolean -> Moves a file or directory, possibly across FileSystems
ls(dir: String): Array -> Lists the contents of a directory
mkdirs(dir: String): Boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
put(file: String, contents: String, overwrite: Boolean = false): Boolean -> Writes the given String out to a file, encoded in UTF-8
head(file: String, maxBytes: int = 1024 * 100): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
append(file: String, content: String, createFileIfNotExists: Boolean): Boolean -> Append the content to a file
rm(dir: String, recurse: Boolean = false): Boolean -> Removes a file or directory
exists(file: String): Boolean -> Check if a file or directory exists
mount(source: String, mountPoint: String, extraConfigs: Map[String, Any]): Boolean -> Mounts the given remote storage directory at the given mount point
unmount(mountPoint: String): Boolean -> Deletes a mount point
mounts(): Array[MountPointInfo] -> Show information about what is mounted
getMountPath(mountPoint: String, scope: String = ""): String -> Gets the local path of the mount point
Use mssparkutils.fs.help("methodName") for more info about a method.
MSSparkUtils работает с файловой системой так же, как и с API Spark. Возьмём, к примеру, использование mssparkuitls.fs.mkdirs() и использование озерных домов:
| Использование | Относительный путь от корневого каталога HDFS | Абсолютный путь для файловой системы ABFS | Абсолютный путь к локальной файловой системе на узле драйвера |
|---|---|---|---|
| Озеро данных не по умолчанию | Не поддерживается | mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/>< new_dir>") | mssparkutils.fs.mkdirs("file:/<new_dir>") |
| Озеро по умолчанию | Каталог в разделе "Файлы" или "Таблицы": mssparkutils.fs.mkdirs("Files/<new_dir>") | mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/>< new_dir>") | mssparkutils.fs.mkdirs("file:/<new_dir>") |
Перечень файлов
Чтобы получить список содержимого каталога, используйте mssparkutils.fs.ls("Путь к каталогу") Например:
mssparkutils.fs.ls("Files/tmp") # works with the default lakehouse files using relative path
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>") # based on ABFS file system
mssparkutils.fs.ls("file:/tmp") # based on local file system of driver node
Просмотр свойств файла.
Этот метод возвращает свойства файла, включая имя файла, путь к файлу, размер файла и то, является ли это каталогом или файлом.
files = mssparkutils.fs.ls('Your directory path')
for file in files:
print(file.name, file.isDir, file.isFile, file.path, file.size)
Создать новый каталог
Этот метод создаёт указанную директорию, если её не существует, и создаёт необходимые родительские каталоги.
mssparkutils.fs.mkdirs('new directory name')
mssparkutils.fs. mkdirs("Files/<new_dir>") # works with the default lakehouse files using relative path
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<new_dir>") # based on ABFS file system
mssparkutils.fs.ls("file:/<new_dir>") # based on local file system of driver node
Копировать файл
Этот метод копирует файл или каталог и поддерживает действие копирования в файловых системах.
mssparkutils.fs.cp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively
Эффективное копирование файлов
Этот метод обеспечивает более быстрый способ копирования или перемещения файлов, особенно больших объемов данных.
mssparkutils.fs.fastcp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively
Предварительный просмотр содержимого файла
Этот метод возвращает до первых maxBytes байт указанного файла в виде строки, закодированной в UTF-8.
# Set the second parameter as an integer for the maxBytes to read
mssparkutils.fs.head('file path', <maxBytes>)
Переместить файл
Этот метод перемещает файл или каталог и поддерживает перемещение между файловыми системами.
mssparkutils.fs.mv('source file or directory', 'destination directory', True) # Set the last parameter as True to firstly create the parent directory if it does not exist
mssparkutils.fs.mv('source file or directory', 'destination directory', True, True) # Set the third parameter to True to firstly create the parent directory if it does not exist. Set the last parameter to True to overwrite the updates.
Записать в файл
Этот метод записывает указанную строку в файл, закодированный в UTF-8.
mssparkutils.fs.put("file path", "content to write", True) # Set the last parameter as True to overwrite the file if it existed already
Добавить содержимое в файл
Этот метод добавляет заданную строку в файл, закодированный в UTF-8.
mssparkutils.fs.append("file path", "content to append", True) # Set the last parameter as True to create the file if it does not exist
Примечание.
Когда вы используете API mssparkutils.fs.append в цикле for для записи в один и тот же файл, мы рекомендуем добавить инструкцию sleep длительностью примерно от 0,5 до 1 секунды между повторными записями.
mssparkutils.fs.append Внутренняя flush работа API асинхронна, поэтому короткая задержка помогает обеспечить целостность данных.
Удалить файл или каталог
Этот метод удаляет файл или каталог.
mssparkutils.fs.rm('file path', True) # Set the last parameter as True to remove all files and directories recursively
Каталог mount/unmount
Для получения дополнительной информации о подробном использовании см. раздел «Крепление и снятие файла».
Служебные программы для ноутбуков
Используйте служебные программы записной книжки MSSparkUtils для запуска записной книжки или выхода из записной книжки со значением. Чтобы получить общие сведения о доступных методах, используйте следующую команду:
mssparkutils.notebook.help()
Выходные данные:
exit(value: String): Raises NotebookExit Exception -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.
Примечание.
Утилиты для ноутбуков не применяются к определениям профессий Apache Spark (SJD).
Ссылка на записную книжку
Этот метод ссылается на записную книжку и возвращает значение выхода. Вызовы вложенных функций можно запускать в записной книжке в интерактивном режиме или в конвейере. Записная книжка, на которую ссылаются, выполняется в Spark-пуле той же записной книжки, которая вызывает эту функцию.
mssparkutils.notebook.run("notebook name", <timeoutSeconds>, <parameterMap>, <workspaceId>)
Например:
mssparkutils.notebook.run("Sample1", 90, {"input": 20 })
Записная книжка Fabric также поддерживает ссылки на записные книжки в нескольких рабочих областях, указав идентификатор рабочей области.
mssparkutils.notebook.run("Sample1", 90, {"input": 20 }, "fe0a6e2a-a909-4aa3-a698-0a651de790aa")
Вы можете открыть ссылку моментального снимка эталонного запуска в выводе ячейки. Моментальный снимок записывает результаты выполнения кода и позволяет легко отлаживать эталонный запуск.
Примечание.
- Межпространственная справочная записная книжка поддерживается, начиная с версии среды выполнения 1.2 и выше.
- Если вы используете файлы в разделе Notebook resources, используйте
mssparkutils.nbResPathих в указанном блокноте, чтобы убедиться, что он указывает на ту же папку, что и интерактивный запуск.
Ссылка на выполнение нескольких блокнотов в параллельном режиме
Внимание
Эта функция доступна в предварительной версии.
Этот метод mssparkutils.notebook.runMultiple() позволяет выполнять несколько записных книжек параллельно или с предопределенной топологической структурой. API использует многопоточную реализацию для отправки, очереди и мониторинга дочерних блокнотов, которые выполняются на изолированных экземплярах REPL (read-eval-print-loop) в существующей сессии Spark. Указанные дочерние записные книжки совместно используют вычислительные ресурсы сеанса.
С помощью mssparkutils.notebook.runMultiple():
Одновременно выполняйте несколько блокнотов, не дожидаясь завершения каждого из них.
Укажите зависимости и порядок выполнения записных книжек с помощью простого формата JSON.
Оптимизируйте использование вычислительных ресурсов Spark и уменьшите затраты на проекты Fabric.
Просматривайте снимки состояния каждой записи о запуске блокнота в выходных данных, а также удобно отлаживайте и отслеживайте задачи блокнота.
Получите результат выполнения каждой выполняемой задачи и используйте их в зависимых задачах.
Вы также можете попытаться запустить mssparkutils.notebook.help("runMultiple"), чтобы найти пример и подробное использование.
Ниже приведен простой пример запуска списка записных книжек параллельно с помощью этого метода:
mssparkutils.notebook.runMultiple(["NotebookSimple", "NotebookSimple2"])
Результат выполнения корневой записной книжки выглядит следующим образом:
Следующий пример показывает запуск блокнотов с топологической структурой с помощью mssparkutils.notebook.runMultiple(). Используйте этот метод для легкой оркестрации записных книжек путем взаимодействия через код.
# run multiple notebooks with parameters
DAG = {
"activities": [
{
"name": "NotebookSimple", # activity name, must be unique
"path": "NotebookSimple", # notebook path
"timeoutPerCellInSeconds": 90, # max timeout for each cell, default to 90 seconds
"args": {"p1": "changed value", "p2": 100}, # notebook parameters
},
{
"name": "NotebookSimple2",
"path": "NotebookSimple2",
"timeoutPerCellInSeconds": 120,
"args": {"p1": "changed value 2", "p2": 200}
},
{
"name": "NotebookSimple2.2",
"path": "NotebookSimple2",
"timeoutPerCellInSeconds": 120,
"args": {"p1": "changed value 3", "p2": 300},
"retry": 1,
"retryIntervalInSeconds": 10,
"dependencies": ["NotebookSimple"] # list of activity names that this activity depends on
}
],
"timeoutInSeconds": 43200, # max timeout for the entire DAG, default to 12 hours
"concurrency": 50 # max number of notebooks to run concurrently, defaults to 50 but ultimately constrained by the number of driver cores
}
mssparkutils.notebook.runMultiple(DAG, {"displayDAGViaGraphviz": False})
Результат выполнения корневой записной книжки выглядит следующим образом:
Примечание.
- Верхний предел действий в записной книжке или одновременных записных книжек ограничен количеством ядер драйвера. Например, драйвер узла Medium с восемью ядрами может одновременно выполнять до восьми ноутбуков. Это ограничение существует потому, что каждый отправленный блокнот выполняется на своём отдельном экземпляре REPL (read-eval-print-loop), и каждый экземпляр потребляет одно ядро драйверов.
- Параметр одновременных процессов по умолчанию имеет значение 50, чтобы поддерживать автоматическое масштабирование максимального числа одновременных процессов по мере того, как пользователи настраивают пулы Spark с большими узлами и, соответственно, больше ядер драйверов. Хотя при использовании более крупного узла драйвера этот параметр можно установить больше, увеличение количества одновременных процессов на одном узле драйвера обычно не масштабируется линейно. Увеличение параллелизма может привести к снижению эффективности из-за соперничества ресурсов драйвера и исполнителя. Каждый запущенный ноутбук работает на выделенном экземпляре RPL, который потребляет процессор и память драйвера. При высокой параллельности такое потребление может увеличить риск нестабильности драйвера или ошибок вне памяти, особенно при длительной нагрузке.
- Вы можете столкнуться с более длительным временем выполнения каждой отдельной задачи из-за накладных расходов на инициализацию экземпляров REPL и оркестрацию множества ноутбуков. Если возникают проблемы, рассмотрите возможность разделить блокноты на несколько вызовов
runMultipleили уменьшить уровень параллелизма, скорректировав поле concurrency в параметрах DAG. - Когда вы запускаете ноутбуки с коротким временем выполнения (например, когда код выполняется 5 секунд), накладные расходы на инициализацию начинают преобладать. Разброс времени подготовки может снизить вероятность одновременного выполнения блокнотов и, следовательно, привести к меньшей фактической параллельности. В таких случаях оптимальнее объединить небольшие операции в один или несколько блокнотов.
- Хотя многопоточность используется для отправки задач, постановки в очередь и мониторинга, обратите внимание, что код, который выполняется в каждом ноутбуке, не выполняется многопоточно на каждом исполнителе. Между тетрадями нет совместного обмена ресурсами. Каждому процессу в ноутбуке выделяется часть общего числа ресурсов исполнителя. Такое распределение может привести к тому, что более короткие задачи будут выполняться неэффективно, а более длительные — конкурировать за ресурсы.
- Тайм-аут по умолчанию для всего DAG составляет 12 часов, а для каждой ячейки в дочерних блокнотах — 90 секунд. Вы можете изменить время ожидания, задав поля timeoutInSeconds и timeoutPerCellInSeconds в параметре DAG. По мере увеличения конкурентности, возможно, придётся увеличивать тайм-аутPerCellInSeconds , чтобы предотвратить возможные проблемы с ресурсами, вызывающие ненужные тайм-ауты.
Выход из ноутбука
Этот метод закрывает записную книжку со значением. Вызовы вложенных функций можно запускать в записной книжке в интерактивном режиме или в конвейере.
При вызове функции exit() из записной книжки в интерактивном режиме записная книжка Fabric создает исключение, пропускает выполнение последующих ячеек и сохраняет сеанс Spark активным.
При оркестрации записной книжки в конвейере, который вызывает функцию exit(), действие записной книжки возвращается со значением выхода, завершает выполнение конвейера и останавливает сеанс Spark. Не замыкайте функцию exit() вокруг try/catch, так как это исключение NotebookExit должно распространяться, чтобы конвейер получил возвращаемое значение.
Когда вы вызываете функцию exit() в блокноте, на которую ссылается, Fabric Spark останавливает дальнейшее выполнение ссыланного блокнота и продолжает запускать следующие ячейки основного блокнота, вызывающие функцию run(). Например: Notebook1 имеет три ячейки и вызывает функцию exit() во второй ячейке. Notebook2 содержит пять ячеек и вызывает run(notebook1) в третьей ячейке. При запуске Notebook2 Записная книжка1 останавливается во второй ячейке при нажатии функции exit(). Notebook2 продолжает выполнять свои четвертую и пятую ячейки.
mssparkutils.notebook.exit("value string")
Например:
Пример1 записной книжки со следующими двумя ячейками:
Ячейка 1 определяет входной параметр со значением по умолчанию, равным 10.
Ячейка 2 выходит из записной книжки с входным значением.
Вы можете запустить Sample1 в другой записной книжке со значениями по умолчанию:
exitVal = mssparkutils.notebook.run("Sample1")
print (exitVal)
Выходные данные:
Notebook executed successfully with exit value 10
Вы можете запустить Sample1 в другом ноутбуке и установить значение input на 20:
exitVal = mssparkutils.notebook.run("Sample1", 90, {"input": 20 })
print (exitVal)
Выходные данные:
Notebook executed successfully with exit value 20
Утилиты для учётных записей
Вы можете использовать утилиты MSSparkUtils Credentials для получения токенов доступа и управления секретами в Azure Key Vault.
Чтобы получить общие сведения о доступных методах, используйте следующую команду:
mssparkutils.credentials.help()
Выходные данные:
getToken(audience, name): returns AAD token for a given audience, name (optional)
getSecret(keyvault_endpoint, secret_name): returns secret for a given Key Vault and secret name
Получение токена
getTokenвозвращает токен Microsoft Entra для заданной аудитории и имени (по желанию). В следующем списке показаны доступные в настоящее время ключи аудитории:
-
Ресурс для аудитории хранения данных:
storage -
Ресурс Power BI:
pbi -
Azure Key Vault Resource:
keyvault -
Ресурс Synapse RTA KQL DB:
kusto
Выполните следующую команду, чтобы получить маркер:
mssparkutils.credentials.getToken('audience Key')
Получите секретность, используя учетные данные пользователя
getSecretвозвращает секрет Azure Key Vault для заданной конечной точки Azure Key Vault и имя секрета, используя учетные данные пользователя.
mssparkutils.credentials.getSecret('https://<name>.vault.azure.net/', 'secret name')
Монтирование и размонтирование файлов
Fabric поддерживает следующие сценарии подключения в пакете служебных программ Microsoft Spark. Вы можете использовать API mount, unmount, getMountPath() и mount() для подключения удалённого хранилища (Azure Data Lake Storage 2-го поколения) ко всем рабочим узлам (драйверный и рабочий узлы). После установки точки подключения хранилища используйте локальный API файлов для доступа к данным, как будто он хранится в локальной файловой системе.
Как смонтировать аккаунт Azure Data Lake Storage 2-го поколения
Следующий пример показывает, как монтировать Azure Data Lake Storage 2-го поколения. Подключение облачного хранилища осуществляется аналогичным образом.
В этом примере предполагается, что у вас есть одна учетная запись Data Lake Storage 2-го поколения с именем storegen2, и в этой учетной записи есть один контейнер с именем mycontainer, который вы хотите подключить к /test в вашем сеансе Spark в записной книжке.
Чтобы смонтировать контейнер с именем mycontainer, mssparkutils сначала проверяет, есть ли у вас разрешение на доступ к контейнеру. Fabric поддерживает три метода аутентификации для операции монтажа триггеров: токен Microsoft Entra (по умолчанию и рекомендуемый), accountKey и sastoken. Для получения дополнительной информации об аутентификации с помощью токенов Microsoft Entra и текущем notebookutils API см. раздел Монтирование и размонтирование файлов с помощью NotebookUtils в Fabric.
Подключить с помощью токена подписи общего доступа или ключа учетной записи
MSSparkUtils поддерживает явную передачу ключа учетной записи или маркера общего доступа (SAS) в качестве параметра для подключения к целевому объекту.
По соображениям безопасности рекомендуется хранить ключи учетной записи или маркеры SAS в Azure Key Vault (как показано на следующем снимке экрана). Затем их можно получить с помощью API mssparkutils.credentials.getSecret . Дополнительные сведения об Azure Key Vault см. в статье "Сведения о ключах управляемой учетной записи хранения Azure Key Vault".
Пример кода для метода accountKey :
from notebookutils import mssparkutils
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
accountKey = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(
"abfss://mycontainer@<accountname>.dfs.core.windows.net",
"/test",
{"accountKey":accountKey}
)
Пример кода для sastoken:
from notebookutils import mssparkutils
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
sasToken = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(
"abfss://mycontainer@<accountname>.dfs.core.windows.net",
"/test",
{"sasToken":sasToken}
)
Примечание.
Может потребоваться импортировать пакет mssparkutils, если он недоступен.
from notebookutils import mssparkutils
Параметры подключения:
-
fileCacheTimeout: BLOB-объекты по умолчанию кэшируются в локальной временной папке в течение 120 секунд. В течение этого времени blobfuse не проверяет, обновлен ли файл. Установите этот параметр на изменение тайм-аута по умолчанию. Когда несколько клиентов одновременно изменяют файлы, чтобы избежать несоответствия между локальными и удалёнными файлами, мы рекомендуем сократить время кэша или даже изменить его на 0 и всегда получать последние файлы с сервера. -
timeout: По умолчанию тайм-аут работы с маунтом составляет 120 секунд. Установите этот параметр на изменение тайм-аута по умолчанию. Когда процессов-исполнителей слишком много или если при монтировании происходит тайм-аут, мы рекомендуем увеличить это значение.
Эти параметры можно использовать следующим образом:
mssparkutils.fs.mount(
"abfss://mycontainer@<accountname>.dfs.core.windows.net",
"/test",
{"fileCacheTimeout": 120, "timeout": 120}
)
Примечание.
Для повышения безопасности не сохраняйте учетные данные в коде. Чтобы дополнительно защитить ваши учетные данные, секрет скрывается в выходных данных блокнота. Дополнительные сведения см. в статье Скрытие секретов.
Как подключить озеро
Пример кода для установки домика на озере до /test:
from notebookutils import mssparkutils
mssparkutils.fs.mount(
"abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<lakehouse_id>",
"/test"
)
Примечание.
Установка региональной конечной точки не поддерживается. Fabric поддерживает подключение только глобальной конечной точки onelake.dfs.fabric.microsoft.com.
Получайте доступ к файлам в точке монтирования с помощью API mssparkutils fs
Основная цель операции монтирования — дать доступ к данным, хранящимся в удалённой учетной записи хранилища, с помощью локального API файловой системы. Вы также можете получить доступ к данным с помощью API mssparkutils fs с монтированным путем в виде параметра. Этот формат пути немного отличается.
Предположим, что вы смонтировали контейнер Data Lake Storage 2-го поколения mycontainer в /test с помощью API монтирования. Когда вы получаете доступ к данным с помощью локального API файловой системы, формат пути выглядит так:
/synfs/notebook/{sessionId}/test/{filename}
Если вы хотите получить доступ к данным через mssparkutils fs API, рекомендуем использовать getMountPath( ) для получения точного пути:
path = mssparkutils.fs.getMountPath("/test")
Список каталогов:
mssparkutils.fs.ls(f"file://{mssparkutils.fs.getMountPath('/test')}")Прочитать содержимое файла:
mssparkutils.fs.head(f"file://{mssparkutils.fs.getMountPath('/test')}/myFile.txt")Создание каталога:
mssparkutils.fs.mkdirs(f"file://{mssparkutils.fs.getMountPath('/test')}/newdir")
Доступ к файлам под точкой подключения через локальный путь
Вы можете легко считывать и записывать файлы в точке подключения с помощью стандартной файловой системы. Ниже приведен пример Python:
#File read
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "r") as f:
print(f.read())
#File write
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "w") as f:
print(f.write("dummy data"))
Как проверить существующие точки подключения
Api mssparkutils.fs.mounts() можно использовать для проверки всех существующих сведений о точке подключения:
mssparkutils.fs.mounts()
Отмонтирование точки монтирования
Используйте следующий код, чтобы отключить точку подключения (/test в этом примере):
mssparkutils.fs.unmount("/test")
Известные ограничения
Текущее крепление — это конфигурация уровня работы. Рекомендуем использовать API крепления , чтобы проверить, существует ли точка крепления или нет.
Механизм демонтажа не является автоматическим. Когда приложение завершит работу, чтобы отключить точку подключения и освободить место на диске, необходимо явно вызвать API отключения в коде. В противном случае точка подключения по-прежнему существует в узле после завершения запуска приложения.
Монтирование аккаунта хранения Azure Data Lake Storage 1-го поколения не поддерживается.
Служебные программы Lakehouse
Модуль предоставляет утилиты для управления объектами из mssparkutils.lakehouse озерного дома. Эти утилиты облегчают создание, получение, обновление и удаление элементов Lakehouse.
Примечание.
API Lakehouse поддерживаются только в версии Runtime 1.2 и выше.
Обзор методов
В mssparkutils.lakehouse модуле доступны следующие методы:
# Create a new Lakehouse artifact
create(name: String, description: String = "", workspaceId: String = ""): Artifact
# Retrieve a Lakehouse artifact
get(name: String, workspaceId: String = ""): Artifact
# Update an existing Lakehouse artifact
update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact
# Delete a Lakehouse artifact
delete(name: String, workspaceId: String = ""): Boolean
# List all Lakehouse artifacts
list(workspaceId: String = ""): Array[Artifact]
Примеры использования
Чтобы эффективно использовать эти методы, рассмотрим следующие примеры применения:
Создание предмета на озерном доме
artifact = mssparkutils.lakehouse.create("artifact_name", "Description of the artifact", "optional_workspace_id")
Извлечение предмета из озерного дома
artifact = mssparkutils.lakehouse.get("artifact_name", "optional_workspace_id")
Обновление элемента из домика на озере
updated_artifact = mssparkutils.lakehouse.update("old_name", "new_name", "Updated description", "optional_workspace_id")
Удаление элемента из дома на озере
is_deleted = mssparkutils.lakehouse.delete("artifact_name", "optional_workspace_id")
Список предметов из домов на озере
artifacts_list = mssparkutils.lakehouse.list("optional_workspace_id")
Дополнительная информация:
Для получения более подробной информации о каждом методе и его параметрах используйте функцию.mssparkutils.lakehouse.help("methodName")
Используя утилиты Lakehouse от MSSparkUtils, вы сможете эффективнее управлять элементами Lakehouse и интегрировать это управление в конвейеры Fabric, улучшая общий опыт управления данными.
Изучите эти утилиты и внедрите их в свои рабочие процессы Fabric для бесшовного управления предметами Lakehouse.
Служебные программы среды выполнения
Отображение сведений о контексте сеанса
Используя mssparkutils.runtime.context, вы можете получить контекстную информацию для текущей живой сессии, включая название блокнота, стандартный лейкхаус, информацию о рабочем пространстве, запуск конвейера и многое другое.
mssparkutils.runtime.context
Примечание.
mssparkutils.env официально не поддерживается на Fabric. Используйте notebookutils.runtime.context в качестве альтернативы.
Известная проблема
Если вы используете версию среды выполнения позднее 1.2 и запускаете mssparkutils.help(), API fabricClient, warehouse и workspace, перечисленные выше, в настоящее время не поддерживаются.