Как я могу прочитать файл из Azure Data Lake Gen 2, используя python - PullRequest
0 голосов
/ 03 мая 2020

У меня есть файл, лежащий в Azure Data lake gen 2 filesystem. Я хочу прочитать содержимое файла и внести некоторые изменения на низком уровне, то есть удалить несколько символов из нескольких полей в записях. Чтобы быть более точным - есть некоторые поля, которые также имеют последний символ в виде backsla sh ('\'). И поскольку значение заключено в текстовом квалификаторе (""), значение поля экранирует символ "" "и продолжает включать значение поля next тоже в качестве значения текущего поля.

, например, для Текстовый файл содержит следующие 2 записи (игнорируйте заголовок)

-------------------------------------------------------------------
Name          | Address      | Description            | Remark
-------------------------------------------------------------------
"ABC"         | "UK"      | "descrption 1"            | "remark1"

"DEF"         | "USA"     | "description2\"           | "remark2"

Когда я читаю вышеупомянутое во фрейме данных pyspark, оно читается примерно так:

-------------------------------------------------------------------
Name          | Address      | Description            | Remark
-------------------------------------------------------------------
"ABC"         | "UK"      | "descrption 1"            | "remark1"

"DEF"         | "USA"     | "description2|remark2"    | null      

Итак, Моя цель - прочитать вышеуказанные файлы, используя обычную обработку файлов в python, например, следующую и избавиться от символа '\' для тех записей, которые имеют этот символ, и записать строки обратно в новый файл.

f = open("test.txt",'r',encoding = 'utf-8')
//read the lines
//remove the '\' character 
//write the line back

Но так как файл находится в файловой системе ADLS gen 2 (HDFS, как файловая система), обычная обработка файлов python здесь не сработает. Какой выход для обработки файлов в файловой системе ADLS gen 2 ?

Или есть способ решить эту проблему с помощью API-интерфейсов искровых данных?

1 Ответ

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

Документация Databricks содержит информацию об обработке соединений с ADLS здесь . В зависимости от деталей вашей среды и того, что вы пытаетесь сделать, доступно несколько вариантов. Для нашей команды мы установили контейнер ADLS так, чтобы он был единовременным, и после этого любой, кто работает в Databricks, мог легко получить к нему доступ.

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