Fiz uns testes recentes aqui com a base do ENEM (3,2 GB) em um computador com 8 GB de memória RAM. No R, tentei abrir com o fread e o vroom, mas não tive muito sucesso com ambos. Daí fui direto para o SQL e consegui bom resultado com o MySQL. Compartilhando aqui os passos que fiz, caso seja útil para outras pessoas:
- No terminal, gerei uma amostra da base (
head -n 1000 MICRODADOS_ENEM_2019.csv > sample.csv
)
- Usei o csvsql para gerar um código SQL com o esquema da base:
csvsql -i mysql -e ISO8859 -I sample.csv > enem.sql
- Completei este código com os comandos de LOAD DATA para carregar os dados.
O resultado está aqui: https://github.com/belisards/load_enem/blob/master/load.sql
Depois, basta criar uma base de dados e importar os dados via terminal: mysql -vu nome_do_usario -p NOME_DA_BASE < load.sql
Com os dados carregados em uma base SQL, então, dá para usar Python, R ou outra linguagem pra acessar. Para quem não é familiar com linguagens de programação, o DBeaver é uma alternativa para lidar com bases de dados via interface gráfica.