Слишком много файлов в моем кластере Databricks Community, но где?
Я начал играть с потоковой передачей на своих сборщиках данных Community Edition, но после нескольких минут создания тестовых событий я столкнулся с некоторой проблемой. Я считаю, что это как-то связано с тем, что в процессе стриминга создаются временные небольшие файлы. Я хотел бы найти их и удалить, но не могу найти, где они хранятся. Мое исключение
com.databricks.api.base.DatabricksServiceException: QUOTA_EXCEEDED: You have exceeded the maximum number of allowed files on Databricks Community Edition. To ensure free access, you are limited to 10000 files and 10 GB of storage in DBFS. Please use dbutils.fs to list and clean up files to restore service. You may have to wait a few minutes after cleaning up the files for the quota to be refreshed. (Files found: 11492);
И я попытался запустить сценарий оболочки, чтобы узнать количество файлов в каждой папке, но, к сожалению, я не могу найти подозрительных, в основном lib
, usr
и другая папка, содержащая системные файлы или файлы Python, не может найти ничего, что могло бы быть создано моей потоковой передачей. Этот скрипт я использую
find / -maxdepth 2 -mindepth 1 -type d | while read dir; do
printf "%-25.25s : " "$dir"
find "$dir" -type f | wc -l
done
Где я могу найти причину too many files
проблема? Может это вообще не связано со стримингом?
Чтобы было понятно, я не загружал много пользовательских файлов в /FileStore
1 ответ
Похоже, вы проверили только файлы в локальной файловой системе, а не саму DBFS. Вы можете взглянуть на DBFS, запустив следующую ячейку в записной книжке Databricks:
%sh
fs ls /
или:
%python
dbutils.fs.ls("/")
Вы можете проверить наличие файлов и удалить их с помощью dbutils.fs.rm
или fs rm
. Также взгляните на/tmp
папку на DBFS и удалите там все файлы.