- Хранилище BLOB- объектов Azure Azure Blob storage
- Требования Requirements
- Подключение контейнеров хранилища BLOB-объектов Azure к DBFS Mount Azure Blob storage containers to DBFS
- Подключение контейнера хранилища BLOB- объектов Azure Mount an Azure Blob storage container
- Python Python
- Scala Scala
- Python Python
- Scala Scala
- SQL SQL
- Отключение точки подключения Unmount a mount point
- Доступ к хранилищу BLOB-объектов Azure напрямую Access Azure Blob storage directly
- Доступ к хранилищу BLOB-объектов Azure с помощью API кадров данных Access Azure Blob storage using the DataFrame API
- Доступ к хранилищу BLOB-объектов Azure с помощью API RDD Access Azure Blob storage using the RDD API
- Доступ к хранилищу BLOB-объектов Azure из клиента Hive Access Azure Blob storage from the Hive client
- Краткое руководство. Передача, скачивание и составление списка больших двоичных объектов с помощью портала Azure Quickstart: Upload, download, and list blobs with the Azure portal
- Предварительные требования Prerequisites
- Создание контейнера Create a container
- Передача блочного BLOB-объекта Upload a block blob
- Скачивание блочного BLOB-объекта Download a block blob
- Удаление блочного BLOB-объекта Delete a block blob
- Очистка ресурсов Clean up resources
- Дальнейшие действия Next steps
Хранилище BLOB- объектов Azure Azure Blob storage
Хранилище BLOB-объектов Azure — это служба для хранения больших объемов неструктурированных данных объектов, таких как текстовые или двоичные данные. Azure Blob storage is a service for storing large amounts of unstructured object data, such as text or binary data. Хранилища BLOB-объектов можно использовать для предоставления данных в открытом доступе всему миру или для хранения данных от приложений в частном порядке. You can use Blob storage to expose data publicly to the world, or to store application data privately. Наиболее частые способы использования хранилища BLOB-объектов: Common uses of Blob storage include:
- Обслуживание изображений или документов непосредственно в браузере. Serving images or documents directly to a browser
- Хранение файлов для распределенного доступа Storing files for distributed access
- Потоковая передача видео и аудио Streaming video and audio
- Хранение резервных копий и восстановление данных, аварийное восстановление и архивация Storing data for backup and restore, disaster recovery, and archiving
- Хранение данных для анализа локальной службой или службой, размещенной в Azure Storing data for analysis by an on-premises or Azure-hosted service
В этой статье объясняется, как получить доступ к хранилищу BLOB-объектов Azure путем подключения хранилища с помощью файловой системы модуля данных (DBFS) или непосредственно с помощью API. This article explains how to access Azure Blob storage by mounting storage using the Databricks File System (DBFS) or directly using APIs.
Требования Requirements
Вы можете считывать данные из общедоступных учетных записей хранения без дополнительных параметров. You can read data from public storage accounts without any additional settings. Для чтения данных из частной учетной записи хранения необходимо настроить общий ключ или подписанный URL-адрес (SAS). To read data from a private storage account, you must configure a Shared Key or a Shared Access Signature (SAS).
Чтобы безопасно использовать учетные данные в Azure Databricks, рекомендуется следовать руководству пользователя для управления секретами , как показано в разделе Подключение контейнера хранилища BLOB-объектов Azure. For leveraging credentials safely in Azure Databricks, we recommend that you follow the Secret management user guide as shown in Mount an Azure Blob storage container.
Подключение контейнеров хранилища BLOB-объектов Azure к DBFS Mount Azure Blob storage containers to DBFS
Контейнер хранилища BLOB-объектов или папку внутри контейнера можно подключить к DBFS. You can mount a Blob storage container or a folder inside a container to DBFS. Подключение — это указатель на контейнер хранилища BLOB-объектов, поэтому данные никогда не синхронизируются локально. The mount is a pointer to a Blob storage container, so the data is never synced locally.
- Хранилище BLOB-объектов Azure поддерживает три типа больших двоичных объектов: блокировка, Добавление и страница. Azure Blob storage supports three blob types: block, append, and page. Вы можете подключать блочные BLOB-объекты только к DBFS. You can only mount block blobs to DBFS.
- Все пользователи имеют доступ на чтение и запись к объектам в контейнерах хранилища BLOB-объектов, подключенных к DBFS. All users have read and write access to the objects in Blob storage containers mounted to DBFS.
- После создания точки подключения в кластере пользователи этого кластера могут немедленно получить доступ к точке подключения. Once a mount point is created through a cluster, users of that cluster can immediately access the mount point. Чтобы использовать точку подключения в другом работающем кластере, необходимо запустить dbutils.fs.refreshMounts() в этом работающем кластере, чтобы сделать созданную точку подключения доступной для использования. To use the mount point in another running cluster, you must run dbutils.fs.refreshMounts() on that running cluster to make the newly created mount point available for use.
DBFS использует учетные данные, предоставляемые при создании точки подключения для доступа к подключенному контейнеру хранилища BLOB-объектов. DBFS uses the credential that you provide when you create the mount point to access the mounted Blob storage container. Если контейнер хранилища BLOB-объектов подключен с помощью ключа доступа к учетной записи хранения, DBFS использует временные маркеры SAS, полученные из ключа учетной записи хранения, когда он получает доступ к этой точке подключения. If a Blob storage container is mounted using a storage account access key, DBFS uses temporary SAS tokens derived from the storage account key when it accesses this mount point.
Подключение контейнера хранилища BLOB- объектов Azure Mount an Azure Blob storage container
Чтобы подключить контейнер хранилища BLOB-объектов или папку внутри контейнера, используйте следующую команду: To mount a Blob storage container or a folder inside a container, use the following command:
Python Python
Scala Scala
- — Это имя учетной записи хранилища BLOB-объектов Azure. is the name of your Azure Blob storage account.
- — имя контейнера в учетной записи хранилища BLOB-объектов Azure. is the name of a container in your Azure Blob storage account.
- путь DBFS, представляющий место, где контейнер хранилища BLOB-объектов или папка внутри контейнера (заданный в source ) будут подключены в DBFS. is a DBFS path representing where the Blob storage container or a folder inside the container (specified in source ) will be mounted in DBFS.
- может иметь значение fs.azure.account.key. .blob.core.windows.net или fs.azure.sas. . .blob.core.windows.net can be either fs.azure.account.key. .blob.core.windows.net or fs.azure.sas. . .blob.core.windows.net
- dbutils.secrets.get(scope = » «, key = » «) Возвращает ключ, сохраненный в качестве секрета в области секрета. dbutils.secrets.get(scope = » «, key = » «) gets the key that has been stored as a secret in a secret scope.
Доступ к файлам в контейнере осуществляется так же, как к локальным файлам, например: Access files in your container as if they were local files, for example:
Python Python
Scala Scala
SQL SQL
Отключение точки подключения Unmount a mount point
Чтобы отключить точку подключения, используйте следующую команду: To unmount a mount point, use the following command:
Доступ к хранилищу BLOB-объектов Azure напрямую Access Azure Blob storage directly
В этом разделе объясняется, как получить доступ к хранилищу BLOB-объектов Azure с помощью API-интерфейса Spark, API RDD и клиента Hive. This section explains how to access Azure Blob storage using the Spark DataFrame API, the RDD API, and the Hive client.
Доступ к хранилищу BLOB-объектов Azure с помощью API кадров данных Access Azure Blob storage using the DataFrame API
Необходимо настроить учетные данные, прежде чем можно будет получить доступ к данным в хранилище BLOB-объектов Azure, как учетные данные сеанса или учетные данные кластера. You need to configure credentials before you can access data in Azure Blob storage, either as session credentials or cluster credentials.
Выполните следующую команду в записной книжке, чтобы настроить учетные данные сеанса: Run the following in a notebook to configure session credentials:
Настройте ключ доступа к учетной записи: Set up an account access key:
Настройте SAS для контейнера: Set up a SAS for a container:
Чтобы настроить учетные данные кластера, задайте свойства конфигурации Spark при создании кластера. To configure cluster credentials, set Spark configuration properties when you create the cluster:
Настройте ключ доступа к учетной записи: Configure an account access key:
Настройка SAS для контейнера: Configure a SAS for a container:
Эти учетные данные доступны всем пользователям, обращающимся к кластеру. These credentials are available to all users who access the cluster.
Если ключ доступа к учетной записи или SAS настроен в записной книжке или в конфигурации кластера, для чтения из учетной записи хранения можно использовать стандартные API Spark и APIs. Once an account access key or a SAS is set up in your notebook or cluster configuration, you can use standard Spark and Databricks APIs to read from the storage account:
Доступ к хранилищу BLOB-объектов Azure с помощью API RDD Access Azure Blob storage using the RDD API
Параметры конфигурации Hadoop недоступны через SparkContext . Hadoop configuration options are not accessible via SparkContext . Если вы используете API RDD для чтения из хранилища BLOB-объектов Azure, необходимо задать свойства конфигурации учетных данных Hadoop в качестве параметров конфигурации Spark при создании кластера, добавив spark.hadoop. префикс к соответствующим ключам конфигурации Hadoop, чтобы распространить их на конфигурации Hadoop, используемые для заданий RDD: If you are using the RDD API to read from Azure Blob storage, you must set the Hadoop credential configuration properties as Spark configuration options when you create the cluster, adding the spark.hadoop. prefix to the corresponding Hadoop configuration keys to propagate them to the Hadoop configurations that are used for your RDD jobs:
Настройте ключ доступа к учетной записи: Configure an account access key:
Настройка SAS для контейнера: Configure a SAS for a container:
Эти учетные данные доступны всем пользователям, обращающимся к кластеру. These credentials are available to all users who access the cluster.
Доступ к хранилищу BLOB-объектов Azure из клиента Hive Access Azure Blob storage from the Hive client
Учетные данные, настроенные в конфигурации сеанса записной книжки, недоступны для клиента Hive. Credentials set in a notebook’s session configuration are not accessible to the Hive client. Чтобы распространить учетные данные в клиент Hive, необходимо задать свойства конфигурации учетных данных Hadoop в качестве параметров конфигурации Spark при создании кластера. To propagate the credentials to the Hive client, you must set Hadoop credential configuration properties as Spark configuration options when you create the cluster:
Настройте ключ доступа к учетной записи: Configure an account access key:
Настройка SAS для контейнера: Configure a SAS for a container:
Эти учетные данные доступны всем пользователям, обращающимся к кластеру. These credentials are available to all users who access the cluster.
После настройки ключа доступа к учетной записи или SAS в конфигурации кластера можно использовать стандартные запросы Hive с хранилищем BLOB-объектов Azure: Once an account access key or a SAS is set up in your cluster configuration, you can use standard Hive queries with Azure Blob storage:
В следующей записной книжке демонстрируется подключение хранилища BLOB-объектов Azure и доступ к данным с помощью API Spark, API модулей данных и Hive. The following notebook demonstrates mounting Azure Blob storage and accessing data through Spark APIs, Databricks APIs, and Hive.
Краткое руководство. Передача, скачивание и составление списка больших двоичных объектов с помощью портала Azure Quickstart: Upload, download, and list blobs with the Azure portal
В этом кратком руководстве вы узнаете, как использовать портал Azure, чтобы создать контейнер в службе хранилища Azure, а также отправлять и загружать блочные BLOB-объекты в этот контейнер. In this quickstart, you learn how to use the Azure portal to create a container in Azure Storage, and to upload and download block blobs in that container.
Предварительные требования Prerequisites
Для доступа к службе хранилища Azure требуется подписка Azure. To access Azure Storage, you’ll need an Azure subscription. Если у вас еще нет подписки, создайте бесплатную учетную запись Azure, прежде чем начинать работу. If you don’t already have a subscription, create a free account before you begin.
Доступ к хранилищу Azure осуществляется с помощью учетной записи хранения. All access to Azure Storage takes place through a storage account. Для работы с этим руководством создайте учетную запись хранения с помощью портала Azure, Azure PowerShell или Azure CLI. For this quickstart, create a storage account using the Azure portal, Azure PowerShell, or Azure CLI. Инструкции по созданию учетной записи хранения см. в статье Создайте учетную запись хранения. For help creating a storage account, see Create a storage account.
Создание контейнера Create a container
Чтобы создать контейнер на портале Azure, сделайте следующее: To create a container in the Azure portal, follow these steps:
Войдите в новую учетную запись хранения на портале Azure. Navigate to your new storage account in the Azure portal.
В меню слева для учетной записи хранения перейдите к разделу Служба BLOB-объектов, а затем выберите Контейнеры. In the left menu for the storage account, scroll to the Blob service section, then select Containers.
Нажмите кнопку + Контейнер. Select the + Container button.
Введите имя для нового контейнера. Type a name for your new container. Все знаки в имени контейнера должны быть строчными. Оно должно начинаться с буквы или цифры и может содержать только буквы, цифры и дефисы (-). The container name must be lowercase, must start with a letter or number, and can include only letters, numbers, and the dash (-) character. Дополнительные сведения об именовании контейнеров и больших двоичных объектов см. в статье Naming and Referencing Containers, Blobs, and Metadata (Именование контейнеров, больших двоичных объектов и метаданных и ссылка на них). For more information about container and blob names, see Naming and referencing containers, blobs, and metadata.
Задайте для контейнера уровень общего доступа. Set the level of public access to the container. Уровень по умолчанию — Private (no anonymous access) (Частный (не разрешать анонимный доступ)). The default level is Private (no anonymous access).
Нажмите кнопку ОК, чтобы создать контейнер. Select OK to create the container.
Передача блочного BLOB-объекта Upload a block blob
Блочные BLOB-объекты состоят из блоков данных, создающих большой двоичный объект. Block blobs consist of blocks of data assembled to make a blob. В большинстве сценариев, использующих хранилище BLOB-объектов, применяются блочные BLOB-объекты. Most scenarios using Blob storage employ block blobs. Блочные BLOB-объекты идеально подходят для хранения текстовых и двоичных данных в облаке (например, файлы, образы и видео). Block blobs are ideal for storing text and binary data in the cloud, like files, images, and videos. В этом кратком руководстве показано, как работать с блочными BLOB-объектами. This quickstart shows how to work with block blobs.
Чтобы передать блочный BLOB-объект в новый контейнер на портале Azure, сделайте следующее: To upload a block blob to your new container in the Azure portal, follow these steps:
На портале Azure перейдите к контейнеру, созданному в предыдущем разделе. In the Azure portal, navigate to the container you created in the previous section.
Выберите контейнер, чтобы просмотреть список больших двоичных объектов, содержащихся в нем. Select the container to show a list of blobs it contains. Это новый контейнер, поэтому он пока не содержит BLOB-объектов. This container is new, so it won’t yet contain any blobs.
Нажмите кнопку Отправить, чтобы открыть колонку отправки и в локальной файловой системе найти файл для передачи в виде блочного BLOB-объекта. Select the Upload button to open the upload blade and browse your local file system to find a file to upload as a block blob. При необходимости можно развернуть раздел Дополнительно, чтобы настроить другие параметры для операции отправки. You can optionally expand the Advanced section to configure other settings for the upload operation.
Нажмите кнопку Отправить, чтобы отправить BLOB-объект. Select the Upload button to upload the blob.
Таким способом можно отправить необходимое количество больших двоичных объектов. Upload as many blobs as you like in this way. Вы увидите, что новые большие двоичные объекты содержатся в контейнере. You’ll see that the new blobs are now listed within the container.
Скачивание блочного BLOB-объекта Download a block blob
Вы можете скачать блочный BLOB-объект, чтобы просмотреть его в браузере или сохранить в локальной файловой системе. You can download a block blob to display in the browser or save to your local file system. Чтобы скачать блочный BLOB-объект, сделайте следующее: To download a block blob, follow these steps:
Перейдите к списку больших двоичных объектов, отправленному в предыдущем разделе. Navigate to the list of blobs that you uploaded in the previous section.
Щелкните правой кнопкой мыши большой двоичный объект, который нужно загрузить, и выберите Download (Загрузить). Right-click the blob you want to download, and select Download.
Удаление блочного BLOB-объекта Delete a block blob
Чтобы удалить один или несколько больших двоичных объектов на портале Azure, сделайте следующее: To delete one or more blobs in the Azure portal, follow these steps:
- На портале Azure перейдите к контейнеру. In the Azure portal, navigate to the container.
- Откройте список больших двоичных объектов в контейнере. Display the list of blobs in the container.
- Используйте флажок, чтобы выбрать один или несколько больших двоичных объектов в списке. Use the checkbox to select one or more blobs from the list.
- Нажмите кнопку Удалить, чтобы удалить выбранный фильтр. Select the Delete button to delete the selected blobs.
- В диалоговом окне подтвердите удаление и укажите, нужно ли также удалить моментальные снимки больших двоичных объектов. In the dialog, confirm the deletion, and indicate whether you also want to delete blob snapshots.
Очистка ресурсов Clean up resources
Чтобы удалить все ресурсы, созданные при работе с этим кратким руководством, просто удалите контейнер. To remove all the resources you created in this quickstart, you can simply delete the container. Все большие двоичные объекты в контейнере будут также удалены. All blobs in the container will also be deleted.
Чтобы удалить контейнер, сделайте следующее: To delete the container:
- На портале Azure перейдите к списку контейнеров в учетной записи хранения. In the Azure portal, navigate to the list of containers in your storage account.
- Выберите контейнер, который нужно удалить. Select the container to delete.
- Нажмите кнопку Дополнительно ( . ) и выберите Удалить. Select the More button (. ), and select Delete.
- Подтвердите, что вы действительно хотите удалить контейнер. Confirm that you want to delete the container.
Дальнейшие действия Next steps
В этом кратком руководстве показано, как создать контейнер и отправить большой двоичный объект через портал Azure. In this quickstart, you learned how to create a container and upload a blob with Azure portal. Чтобы узнать о работе с Хранилищем BLOB-объектов из веб-приложения, перейдите к руководстве, в котором показано, как отправлять изображения в учетную запись хранения. To learn about working with Blob storage from a web app, continue to a tutorial that shows how to upload images to a storage account.