Кластер блоков данных не инициализирует библиотеку Azure с ошибкой: модуль «lib» не имеет атрибута «SSL_ST_INIT» - PullRequest
0 голосов
/ 04 марта 2019

Я использую записную книжку Azure DataBricks с библиотекой Azure, чтобы получить список файлов в хранилище BLOB-объектов.Эта задача запланирована, и кластер завершается после завершения работы и запускается снова с новым запуском.

Я использую библиотеку Azure 4.0.0 (https://pypi.org/project/azure/)

Иногда я получаю сообщение об ошибке:

  • AttributeError: модуль 'lib' не имеет атрибута 'SSL_ST_INIT'

и очень редко также:

  • AttributeError: библиотека cffi '_openssl'не имеет функции, константы или глобальной переменной с именем' CRYPTOGRAPHY_PACKAGE_VERSION '

Я нашел решение, как удалить библиотеку openssl или azure, перезапустить кластер и установить его снова, но перезапуск кластера может быть невозможен, поскольку онвозможно, придется обрабатывать более длинные задачи и т. д.

Я также пытался установить / обновить openSSL 16.2.0 в сценарии инициализации, но это не помогает и не вступает в конфликт с какой-либо другой библиотекой openSSL, которая по умолчанию находится в кластере Databricks.

Можно ли с ним что-нибудь сделать?

Есть код для получения списка файлов изХранение BLOB-объектов:

import pandas as pd
import re
import os
from pyspark.sql.types import *
import azure
from azure.storage.blob import BlockBlobService
import datetime
import time

r = []
marker = None
blobService = BlockBlobService(accountName,accountKey)
while True:
  result = blobService.list_blobs(sourceStorageContainer, prefix = inputFolder, marker=marker)
  for b in result.items:
    r.append(b.name)
  if result.next_marker:
    marker = result.next_marker
  else:
    break
print(r)

Спасибо

1 Ответ

0 голосов
/ 08 марта 2019

Решением этой проблемы является понижение библиотеки Azure до версии 3.0.0.

Похоже, что Azure v4 конфликтует с некоторыми начальными библиотеками в Databricks.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...