Укажите тип BLOB-объекта для чтения добавочного BLOB-объекта Azure из PySpark. - PullRequest
0 голосов
/ 28 июня 2019

Конечная цель - прочитать данные из моего контейнера Azure в фрейм PySpark.

Шаги до сих пор

Шаги, которые я выполнял до сих пор:

  • Записать этот код

    spark = SparkSession(SparkContext())
    spark.conf.set(
        "fs.azure.account.key.%s.blob.core.windows.net" % AZURE_ACCOUNT_NAME,
        AZURE_ACCOUNT_KEY
    )
    spark.conf.set(
        "fs.wasbs.impl",
        "org.apache.hadoop.fs.azure.NativeAzureFileSystem"
    )
    
    container_path = "wasbs://%s@%s.blob.core.windows.net" % (
        AZURE_CONTAINER_NAME, AZURE_ACCOUNT_NAME
    )
    blob_folder = "%s/%s" % (container_path, AZURE_BLOB_NAME)
    df = spark.read.format("text").load(blob_folder)
    print(df.count())
    
    • Установить публичный и анонимный доступ к моему контейнеру Azure.
    • Добавлены две банки hadoop-azure-2.7.3.jar и azure-storage-2.2.0.jar впуть.

Проблема

Но теперь я застрял с этой ошибкой: Caused by: com.microsoft.azure.storage.StorageException: Incorrect Blob type, please use the correct Blob type to access a blob on the server. Expected BLOCK_BLOB, actual UNSPECIFIED..Я не смог найти ничего, что говорит / решает эту проблему.Самое близкое, что я нашел, это это , которое не работает / устарело.

РЕДАКТИРОВАТЬ

Я обнаружил, что azure-storage-2.2.0.jar не поддерживает APPEND_BLOB.Я обновил до azure-storage-4.0.0.jar, и ошибка изменилась с Expected BLOCK_BLOB, actual UNSPECIFIED. до Expected BLOCK_BLOB, actual APPEND_BLOB..Кто-нибудь знает, как передать правильный тип, чтобы ожидать?

Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.

У меня минимальный опыт работы с Azure, но я не думаю, что это должно бытьэто трудно читать и создавать из него Spark-фрейм данных.Что я делаю не так?

...