Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parquet #7

Open
JoseRFJuniorLLMs opened this issue Jul 1, 2020 · 2 comments
Open

Parquet #7

JoseRFJuniorLLMs opened this issue Jul 1, 2020 · 2 comments

Comments

@JoseRFJuniorLLMs
Copy link

Boa Noite, eu tenho alguns notebooks que ler 685 arquivos csv de 1GB e transforma em Parquet, esse processo e lento, gostaria de fazer em Julia para ver se fica mais rapido, mas nao encotrei aqui um exemplo para isso. Ja tem uma bliblioteca que faz isso ?

Obrigado !!

@pedrohnv
Copy link
Contributor

pedrohnv commented Jul 1, 2020

Se você consegue ler e escrever em inglês, bons locais para pedir ajuda são o Julia Discourse e o Stack Overflow.

Eu não sei se entendi bem o que você precisa fazer ou seja já tentou alguma coisa em Julia, mas eu imagino que seja necessário algo como o seguinte (julia v1.4.2). Nunca trabalhei com arquivos parquet, mas encontrei o pacote [Diban] que parece ser capaz de transformar um DataFrame num arquivo parquet (porém de forma lenta, segundo o autor do pacote). Para ler arquivos parquet, o pacote Parquet parece ser apropriado (mas ele só é capaz de ler, e não escrever, pelo que entendi).

using CSV
using Diban
using DataFrames

# colocar dentro de uma função, pois o escobo global é sempre lento
function processar_dados(n)
    dfinal = DataFrame(...)
    for i = 1:n
        df = DataFrame!(CSV.File("arquivo$(i).csv"))
        # processar e fundir os dados de df em dfinal
    end
    write_parquet("arq.parquet", dfinal)
end

# recomendo rodar a função lendo somente um arquivo para
# forçar o julia a pré-compilar tudo antes de fazer o trabalho pesado
processar_dados(1)

processar_dados(N)  # rodar a função pra valer agora

@JoseRFJuniorLLMs
Copy link
Author

Pedro no caso eu teria que fazer minha propria biblioteca !!

Muito Obrigado !!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants