В настоящее время у меня есть несколько файлов данных SAS размером 50 ГБ (sas7bdat
), и я хотел бы переключить предыдущий код SAS на инструмент с открытым исходным кодом, такой как R или Python. Самая большая проблема заключается в том, как бороться с этими гигантскими файлами ... Я попытался экспортировать один файл размером 50 ГБ в файл CSV
, а затем использовал fread
в R, чтобы загрузить его. Тем не менее, он раздавлен во время загрузки файла. Поэтому мне интересно, как лучше всего справиться с этой проблемой? Заранее спасибо!Загрузка больших данных SAS в R/Python
1
A
ответ
1
Первые несколько вещей, чтобы принять во внимание:
- несжатого SAS файлы огромны. 50GB, вероятно, < 10GB как CSV.
- R - это борода. Вы не сможете это сделать с помощью vanilla R.
- Python на самом деле довольно эффективен с памятью при обработке списков (т. Е. Записей), он может просто соответствовать/работать в зависимости от того, что вы хотите делать.
- Ни один из них не обеспечивает параллельный параллелизм, ему нужен модуль R/python. Поэтому по умолчанию он будет медленным, даже если он подходит для памяти.
- Вы можете в какой-то мере уклониться от проблемы «все в памяти» в Python, убедившись, что вы используете итерации везде, а не везде, где все время переводится в списки.
Но это удобное решение для вас было бы использовать Python вместе с PySpark (или R с SparkR, но бывший более зрелый в данный момент):
- Не все потребности быть в памяти сразу
- Вы получаете параллельность из коробки
- Если вы являетесь «одним из тех людей», использующим proc sql во всем мире, вы можете использовать Spark SQL для легкого повторного использования вашей работы.
Посмотрите на проект: https://spark.apache.org
+0
Большое спасибо за находчивый ответ! Я посмотрю на PySpark. Кроме того, преобразованный CSV-файл не маленький ~ 30 ГБ ... –
Смежные вопросы
- 1. Загрузка больших данных в jquery
- 2. Загрузка больших наборов данных в кадр данных
- 3. Загрузка XML-файла в SAS
- 4. Загрузка больших данных на Python
- 5. Datagrid загрузка больших объемов данных
- 6. Winforms асинхронная загрузка больших данных?
- 7. Загрузка наборов данных SAS в Hadoop
- 8. Загрузка больших данных в вектор C++
- 9. Загрузка больших данных в таблицу HTML быстрее
- 10. Загрузка больших данных в режиме многозадачности?
- 11. Загрузка больших объемов данных в html
- 12. Улавливающие сигналы в RPython
- 13. - генераторы, поддерживаемые в RPython?
- 14. WP8 Загрузка/Загрузка больших файлов
- 15. Загрузка основных данных и больших файлов
- 16. Servicestack - Ormlite - загрузка больших объемов данных
- 17. Загрузка больших файлов Excel
- 18. Загрузка больших наборов данных с помощью AngularJS
- 19. Загрузка больших данных с помощью реагирования
- 20. Быстрая загрузка больших данных Azure SQL
- 21. Загрузка больших файлов в Python
- 22. Загрузка больших объемов данных в базу данных Oracle SQL
- 23. Эффективная загрузка данных из больших файлов в базу данных
- 24. Загрузка больших файлов
- 25. Загрузка больших файлов XML
- 26. Загрузка больших файлов
- 27. Загрузка нескольких/больших файлов
- 28. Загрузка больших фоновых изображений
- 29. Загрузка больших файлов в Silverlight
- 30. Загрузка больших изображений в Listview
Есть ли у вас достаточно оперативной памяти, чтобы сохранить такой большой объект в памяти? Если нет, вам нужно посмотреть пакеты R для данных из памяти. См. Этот вид задачи: https://cran.r-project.org/web/views/HighPerformanceComputing.html – Roland
@Roland У меня только 16 ГБ и да, я боюсь, что этого недостаточно, чтобы загрузить все в память ... –
данные в базу данных, такие как SQLite – Carl