Блоки данных Azure - запись файла паркета в курируемую зону - PullRequest
2 голосов
/ 16 октября 2019

При записи файла паркета обратно в DataLake Gen2 создаются дополнительные файлы.

Пример:

%python
rawfile = "wasbs://xxxx@dxxxx.blob.core.windows.net/xxxx/2019-09-30/account.parquet"
curatedfile = "wasbs://xxxx@xxxx.blob.core.windows.net/xxxx-Curated/2019-09-30/account.parquet"
dfraw = spark.read.parquet(rawfile)
dfraw.write.parquet(curatedfile, mode = "overwrite")
display(dfraw)

enter image description here

Предоставленное имя файла (account.parquet) учитывается в созданной папке, а не создается файл с этимname.

Как можно игнорировать эти дополнительные файлы и записывать файл с указанным именем.

1 Ответ

0 голосов
/ 01 ноября 2019

Когда пользователь записывает файл в задании, DBIO выполнит для вас следующие действия:

  • Пометка файлов с уникальным идентификатором транзакции.
  • Запись файлов непосредственно вих окончательное местоположение.
  • Пометить транзакцию как выполненную при фиксации заданий.

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

Spark использует Hadoop File Format, который требует, чтобы данные были разбиты на части - вот почему у вас есть частично файлы. Вы можете легко изменить имя файла после обработки, как в потоке SO .

Вы можете сослаться на аналогичный поток SO , в котором устранена аналогичная проблема.

Надеюсь, это поможет.

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