Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Данные можно хранить в хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения. Также можно использовать сочетание этих ресурсов. Данные варианты хранилищ позволяют безопасно и без потери пользовательских данных удалять используемые для расчетов кластеры HDInsight.
В Apache Hadoop поддерживается концепция файловой системы по умолчанию. Файловая система по умолчанию подразумевает схему и полномочие по умолчанию. Она также может использоваться для разрешения относительных путей. При создании кластера HDInsight в качестве файловой системы по умолчанию можно указать контейнер BLOB в Azure Storage. Или с HDInsight 3.6 можно выбрать хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения в качестве системы файлов по умолчанию с несколькими исключениями.
Из этой статьи вы узнаете, как служба хранилища Azure работает с кластерами HDInsight.
- Сведения о работе Data Lake Storage 2-го поколения с кластерами HDInsight см. в статье "Использование Azure Data Lake Storage 2-го поколения с кластерами Azure HDInsight".
- Для получения дополнительной информации о создании кластера HDInsight см. статью Создание кластеров Apache Hadoop в HDInsight.
Внимание
Тип учетной записи хранения BlobStorage можно использовать только как дополнительное хранилище кластеров HDInsight.
Вид учетной записи хранения | Поддерживаемые службы | Поддерживаемые уровни производительности | Неподдерживаемые уровни производительности | Поддерживаемые уровни доступа |
---|---|---|---|---|
StorageV2 (учетная запись общего назначения версии 2) | BLOB | Стандарт | Премиум | Горячий, холодный или архивный* |
Хранилище общего назначения v1 | BLOB | Стандарт | Премиум | Н/П |
BlobStorage | BLOB-объект | Стандарт | Премиум | Горячий, холодный или архивный* |
Применяемый по умолчанию контейнер больших двоичных объектов не рекомендуется использовать для хранения бизнес-данных. Чтобы сократить затраты на хранение, контейнер BLOB по умолчанию рекомендуется удалять после каждого использования. Контейнер по умолчанию содержит журналы приложений и системный журнал. Обязательно извлеките эти журналы перед удалением контейнера.
Совместное использование одного контейнера объектов как файловой системы по умолчанию для нескольких кластеров не поддерживается.
Примечание.
Архивный уровень доступа — это автономный уровень с задержкой извлечения в несколько часов, который не рекомендуется использовать вместе с HDInsight. Дополнительные сведения см. в разделе Архивный уровень доступа.
Доступ к файлам из кластера
Примечание.
Команда службы хранилища Azure прекратила все активные разработки в WASB и рекомендует всем клиентам использовать драйвер ABFS для взаимодействия с BLOB-объектами и ADLS 2-го поколения. Дополнительные сведения см. в разделе Драйвер файловой системы BLOB-объектов Azure (ABFS): выделенный драйвер для службы хранилища Azure для Hadoop
С помощью полного доменного имени. При таком подходе необходимо указать полный путь к файлу, к которому требуется доступ.
wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/ wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
Использование сокращенного формата пути. При таком подходе путь до корня кластера заменяется на следующий:
wasb:///<file.path>/ wasbs:///<file.path>/
С помощью относительного пути. При таком подходе указывается только относительный путь к файлу, к которому требуется доступ.
/<file.path>/
Примеры доступа к данным
Примеры основаны на SSH-подключении к головному узлу кластера. В примерах используются все три схемы URI. Замените CONTAINERNAME
и STORAGEACCOUNT
соответствующими значениями
Несколько команд HDFS
Создайте файл в локальном хранилище.
touch testFile.txt
Создайте каталог в хранилище кластера.
hdfs dfs -mkdir wasbs://[email protected]/sampledata1/ hdfs dfs -mkdir wasbs:///sampledata2/ hdfs dfs -mkdir /sampledata3/
Скопируйте данные из локального хранилища в хранилище кластера.
hdfs dfs -copyFromLocal testFile.txt wasbs://[email protected]/sampledata1/ hdfs dfs -copyFromLocal testFile.txt wasbs:///sampledata2/ hdfs dfs -copyFromLocal testFile.txt /sampledata3/
Просмотрите содержимое директории на хранилище кластера.
hdfs dfs -ls wasbs://[email protected]/sampledata1/ hdfs dfs -ls wasbs:///sampledata2/ hdfs dfs -ls /sampledata3/
Примечание.
При работе с большими двоичными объектами вне HDInsight большинство программ не распознают формат WASB и вместо этого ожидают формат базового пути, например example/jars/hadoop-mapreduce-examples.jar
.
Создание таблицы Hive
Для наглядности показаны три расположения файлов. Для фактического выполнения используйте только одну из записей LOCATION
.
DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
t1 string,
t2 string,
t3 string,
t4 string,
t5 string,
t6 string,
t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'wasbs://[email protected]/example/data/';
LOCATION 'wasbs:///example/data/';
LOCATION '/example/data/';
Доступ к файлам из внешнего кластера
Корпорация Майкрософт предоставляет следующие инструменты для работы со службой хранилища Azure:
Инструмент | Linux | OS X | Windows |
---|---|---|---|
Портал Azure | ✔ | ✔ | ✔ |
Azure CLI | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AzCopy | ✔ | ✔ |
Указание пути к хранилищу из Ambari
Чтобы указать полный путь к настроенному хранилищу по умолчанию, перейдите в следующий раздел:
HDFS>Конфигурации и введите
fs.defaultFS
в поле фильтра.Чтобы проверить, настроено ли хранилище wasb как дополнительное, перейдите в следующий раздел:
HDFS>Configs и введите
blob.core.windows.net
в поле ввода фильтра.
Сведения о том, как получить путь с помощью REST API Ambari, см. в разделе Получение хранилища по умолчанию.
контейнеров BLOB-объектов;
Чтобы использовать большие двоичные объекты, сначала создайте учетную запись службы хранилища Azure. В рамках этого шага укажите регион Azure, в котором создается учетная запись хранения. Кластер и учетная запись хранения должны размещаться в одном регионе. Базы данных SQL Server, используемые для хранилища метаданных Hive и Apache Oozie, должны располагаться в одном регионе.
Где бы ни находился созданный BLOB-объект, он принадлежит контейнеру в вашей учетной записи хранения Azure. Этот контейнер может быть существующим BLOB-объектом, созданным за пределами HDInsight. Или это может быть контейнер, созданный для кластера HDInsight.
Стандартный контейнер BLOB хранит сведения, специфичные для кластера, такие как история заданий и журналы. Не делитесь стандартным контейнером BLOB-объектов с несколькими кластерами HDInsight. Это действие может привести к повреждению журнала заданий. Для каждого кластера рекомендуется использовать отдельный контейнер. Общие данные следует поместить в связанную учетную запись хранения, указанную для всех соответствующих кластеров, а не в учетную запись хранения по умолчанию. Дополнительные сведения о настройке связанных учетных записей хранения см. в статье Создание кластеров HDInsight. Тем не менее, вы можете повторно использовать контейнер хранения по умолчанию после удаления исходного кластера HDInsight. Для кластеров HBase вы можете сохранить схему таблицы и данные, создав новый кластер HBase, используя контейнер по умолчанию, который использовался удаленным кластером HBase.
Примечание.
Функция, требующая безопасной передачи, обеспечивает принудительную передачу всех запросов к вашей учетной записи через безопасное подключение. Только кластер HDInsight версии 3.6 или более новой поддерживает эту функцию. Дополнительные сведения см. в статье Создание кластера Apache Hadoop с помощью учетных записей хранения с безопасной передачей в Azure HDInsight.
Использование дополнительных учетных записей хранения
При создании кластера HDInsight укажите учетную запись хранения Azure, которую необходимо с ним связать. Кроме того, в процессе создания или после создания кластера можно добавить дополнительные учетные записи хранения из той же или других подписок Azure. Инструкции по добавлению дополнительных учетных записей хранения см. в статье Создание кластеров Hadoop в HDInsight.
Предупреждение
Использование дополнительной учетной записи хранения в другом расположении, отличном от кластера HDInsight, не поддерживается.
Следующие шаги
Из этой статьи вы узнали, как использовать HDFS-совместимую службу хранилища Azure с HDInsight. В этом хранилище можно создавать адаптируемые, долгосрочные решения для получения данных архивирования, а также использовать HDInsight для разблокирования информации внутри хранимых структурированных и неструктурированных данных.
Дополнительные сведения см. в разделе:
- Краткое руководство. Создание кластера Apache Hadoop
- Руководство. Создание кластеров HDInsight
- Использование Azure Data Lake Storage Gen2 с кластерами Azure HDInsight
- Отправка данных в HDInsight
- Руководство. Извлечение, преобразование и загрузка данных с помощью интерактивного запроса в Azure HDInsight
- Использование подписанных URL-адресов хранилища Azure для ограничения доступа к данным с помощью HDInsight