Azure Blob Storage это услуга для хранения больших объемов данных, хранящихся в любой формат или двоичные данные. Это хороший сервис для создания хранилищ данных или озер данных вокруг него, чтобы хранить предварительно обработанные или необработанные данные для будущей аналитики.
В этом посте я объясню, как получить доступ к хранилищу Azure Blob, используя Spark Framework на питоне.
Azure Blob требует установки дополнительных библиотек для доступа к нему данные, потому что он использует Протокол WASB/SUSBS , не де-факто стандартным протоколом HDFS. Протокол SUSBS – это просто расширение, построенное на вершине API-адресов HDFS. Чтобы получить доступ к ресурсам из Azure Blob, вам нужно добавить встроенные файлы JAR, названные Hadoop-Azure.jar. и Azure-Storage.jar к Spark-Отправить
когда вы отправляете работу.
$ spark-submit --py-files src.zip \ --master yarn \ --deploy-mode=cluster \ --jars hadoop-azure.jar,azure-storage.jar src/app.py
Также, если вы используете Docker или развертываете приложение к кластеру, для вас также есть наконечник. Вам не нужно проходить дополнительные банки, если они уже есть в нужном месте – где Pyspark может найти его (это необходимо сделать на каждом узле кластера). Используйте команды ниже с осторожностью – версии/ссылки могут быть неверными!
$ wget -nc -nv -O /usr/local/lib/python3.5/site-packages/pyspark/jars/azure-storage-2.2.0.jar http://central.maven.org/maven2/com/microsoft/azure/azure-storage/2.2.0/azure-storage-2.2.0.jar $ wget -nc -nv -O /usr/local/lib/python3.5/site-packages/pyspark/jars/hadoop-azure-2.7.3.jar http://central.maven.org/maven2/org/apache/hadoop/hadoop-azure/2.7.3/hadoop-azure-2.7.3.jar
На уровне приложений, прежде всего, как всегда в Spark Applications, вам нужно захватить искрому сессию. Spark Session – это точка входа для ресурсов кластера – для чтения данных и выполнения запросов SQL над данными и получение результатов.
session = SparkSession.builder.getOrCreate()
Затем настройте ключ учетной записи в контейнер BLOB:
session.conf.set( "fs.azure.account.key..blob.core.windows.net", " " )
или SAS токен:
session.conf.set( "fs.azure.sas..blob.core.windows.net", " " )
Как только клавиша доступа к учетной записи или токен SAS установлен, вы готовы к чтению/записи в Azure Blob:
sdf = session.read.parquet( "wasbs://@ .blob.core.windows.net/ " ) sdf.show()
Спасибо за чтение!
Любые вопросы? Оставьте свой комментарий ниже, чтобы начать фантастические обсуждения!
Проверить мой блог или прийти, чтобы сказать привет 👋 на Twitter или подписаться на Мой телеграмма канал . Спланируйте свой лучший!
Оригинал: "https://dev.to/luminousmen/azure-blob-storage-with-pyspark-21hd"