Доступ только к одной строке/элементу df/массива, хранящегося в Azure Blob, из функции Azure.Python

Программы на Python
Anonymous
Доступ только к одной строке/элементу df/массива, хранящегося в Azure Blob, из функции Azure.

Сообщение Anonymous »

У меня есть довольно большой массив df/np, хранящийся в хранилище BLOB-объектов Azure, и мне интересно, смогу ли я получить доступ только к определенным его строкам, не загружая весь массив в память. Этот df/массив представляет собой матрицу косинусного подобия размером 8 ГБ, и я хочу запросить только одну из ее строк (я знаю индекс) из функции Azure.
В локальной среде я был я могу успешно это сделать, но до сих пор мне не удавалось сделать это с файлами, хранящимися в Azure, поскольку каждая попытка заканчивается загрузкой всего большого двоичного объекта куда-то в память (и это, конечно, означает, что функции Azure требуется целая вечность, чтобы получить результат).
Возможно ли это вообще? Есть какие-нибудь советы/идеи на случай, если это так?
И то, и другое:

Код: Выделить всё

with h5py.File('pathtofile', 'r') as f:
product_index = 9
product_similarities = f['cosine_similarity'][product_index, :]
А это:

Код: Выделить всё

cosine_sim_matrix = np.load('pathtofile', mmap_mode='r')
product_index = 9
product_similarities = cosine_sim_matrix[product_index, :]
Кажется, локально работает нормально (на самом деле в Google Colab, то есть даже не на реальном локальном ПК), но с файлом, хранящимся в Azure, никаких шансов нет.

Подробнее здесь: https://stackoverflow.com/questions/789 ... an-azure-f

Вернуться в «Python»