Azure озеро данных - считывается с использованием Python - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь прочитать файл из Azure озера данных, используя Python в записной книжке Databricks. это код, который я использовал,

from azure.storage.filedatalake import DataLakeFileClient

file = DataLakeFileClient.from_connection_string("DefaultEndpointsProtocol=https;AccountName=mydatalake;AccountKey=******;EndpointSuffix=core.windows.net",file_system_name="files", file_path="/2020/50002")

with open("./sample.txt", "wb") as my_file:
    download = file.download_file()
    content = download.readinto(my_file)
    print(content)

На выходе я получаю 0. Можете ли вы указать, что я делаю неправильно. я ожидаю распечатать содержимое файла.

1 Ответ

0 голосов
/ 27 мая 2020

Метод from_connection_string возвращает DataLakeFileClient, вы не могли использовать его для загрузки файла.

Если вы хотите загрузить файл на локальный компьютер, вы можете обратиться к моему ниже code.

import os, uuid, sys
from azure.storage.filedatalake import DataLakeServiceClient

service_client = DataLakeServiceClient.from_connection_string("DefaultEndpointsProtocol=https;AccountName=***;AccountKey=*****;EndpointSuffix=core.windows.net")

file_system_client = service_client.get_file_system_client(file_system="test")

directory_client = file_system_client.get_directory_client("testdirectory")

file_client = directory_client.get_file_client("test.txt")

download=file_client.download_file()

downloaded_bytes = download.readall()

with open("./sample.txt", "wb") as my_file:
    my_file.write(downloaded_bytes)
    my_file.close()

Если вам нужен дополнительный образец кода, вы можете обратиться к этому do c: Azure Data Lake Storage Gen2 .

...