Рубрики
Без рубрики

Хранение Azure Blob с Pyspark

Хранение Azure Blob – это решение Microsoft для хранения объектов в облаке. Он оптимизирован для хранения большого количества данных и может быть легко добраться до вашего приложения Python / Spark. Помечено Python, Spark, Big Data, Azure.

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"