Как проверить, существует ли путь хранения BLOB-объектов Azure или нет с использованием scala spark или python spark - PullRequest
0 голосов
/ 17 мая 2019

Пожалуйста, дайте мне знать, как проверить, существует ли указанный ниже BLOB-файл.

Путь к файлу: "wasbs: //containername@storageaccountname.blob.core.windows.net/directoryname/meta_loaddate=20190512/«

Ответы [ 2 ]

0 голосов
/ 27 июля 2019
private val storageConnectionString = s"DefaultEndpointsProtocol=http;AccountName=$account;AccountKey=$accessKey"

private val cloudStorageAccount = CloudStorageAccount.parse(storageConnectionString)

private val serviceClient = cloudStorageAccount.createCloudBlobClient

private val container = serviceClient.getContainerReference("data")

val ref = container.getBlockBlobReference(path)
val existOrNot = ref.exist()
0 голосов
/ 18 мая 2019

Ниже приведен код, который будет работать для вас, вы можете свободно редактировать / настраивать в соответствии с вашими потребностями:

  from azure.storage.blob import BlockBlobService

session = SparkSession.builder.getOrCreate() #setup spark session
    session.conf.set("fs.azure.account.key.storage-account-name.blob.core.windows.net","<storage-account-key>")
    sdf = session.read.parquet("wasbs://<container-name>@<storage-account-name>.blob.core.windows.net/<prefix>")

    block_blob_service = BlockBlobService(account_name='', account_key='')

    def blob_exists():

            container_name = ""
            blob_name = ""

            exists=(block_blob_service.exists(container_name, blob_name))
            return exists
    blobstat = blob_exists()
    print(blobstat)# will return a boolean if the blob exists = True, else False
...