Могу ли я получить метаданные файлов или статистику файлов, хранящихся в блоках данных Azure - PullRequest
0 голосов
/ 20 июня 2019

Как я упоминал в заголовке, мне любопытно узнать, могу ли я получить метаданные для группы файлов, в основном для всех файлов в BLOB-объектах, которые загружаются в блоки данных Azure.Я надеюсь, что есть какой-то общий сценарий, который можно запустить для предоставления статистики по файлам (в основном в формате CSV).Я знаю, что довольно легко получить все виды статистики для таблиц в SQL Server, который также является продуктом Microsoft.Или, может быть, есть какой-то отчет, который можно сгенерировать для отображения метаданных, статистики и т. Д. Файлов.В конечном счете, я хотел бы получить список имен файлов, размеров файлов и, если возможно, количества нулей в полях и общего количества нулей, во всех полях, во всех файлах.Спасибо.

1 Ответ

1 голос
/ 21 июня 2019

Для файлов доступен только файл dbutils.fs.ls, который будет перечислять файлы в папке, включая размер файла.

Вы не можете получить статистику по CSV-файлу, не открыв его и не выполнив запрос - CSV - это текстовый файл.

Форматы, такие как паркет, хранят статистику распределения данных.Возможно, есть библиотеки Python и Scala, которые могут прочитать их для вас, если вы действительно этого хотите.

Если вы регистрируете файлы в виде таблицы в Databricks (Hive), то может быть создана статистика для оптимизации запросов.https://docs.databricks.com/spark/latest/spark-sql/language-manual/analyze-table.html

Эта ссылка содержит сведения о команде DESCRIBE для их просмотра.

Как и в таблицах SQL Server, статистика является распределением и является только оценочной.Например, они не дадут вам истинных нулевых значений.Оба используют их для улучшения производительности запросов, и при этом пользователи не намерены использовать статистику напрямую.

Также Databricks не является продуктом Microsoft.

...