Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
Free Trial

Fórum

Dividir o arquivo CSV de saída em blocos de 100 Megas.

LoGwriteR
Meteoroide

Boa tarde a todos!

Esta é a minha primeira mensagem no fórum.

Procurei nos fóruns como fazer essa divisão mas encontrei apenas pelos métodos de contagem de linhas.

Eu tenho um output em csv que está com 308 megas.

Eu gostaria de dividir em arquivos de no máximo 100 megas.

Ou seja, arquivos CSV 1, 2 e 3 de 100 megas e o arquivo 4 com 8 megas.

É possível? Alguém já fez isso? Ou sabe como fazer?

Muitíssimo obrigado!

Grande abraço! 

4 RESPOSTAS 4
lemuelcastro
Bólide
LoGwriteR
Meteoroide

Bom dia, lemuecastro!

 

Tudo bem?

Eu tinha visto essa forma de divisão nas consultas que fiz no fórum.

São ótimas soluções.

Porém, me dá mais trabalho a exportação para o excel pois o excel tem aquele coisa maluca com a formatação das datas.

E depois eu tenho que ficar ajustando as colunas no arquivo de saída.

 

Pensei em dividir o arquivo CSV com o split do Linux.

Mas, também não é uma boa solução pois trunca os dados no meio da linha dos registros de saída.

 

A maneira que estou pensando em fazer, seria pegar o arquivo de saída, no caso os 308 Megas, contar os valores, e dividir por 4.

No caso, seriam 910 mil registros, dividido em 4 arquivos CSV de 227.500 registros.

 

Acredito que o time de desenvolvimento do Alteryx, poderia adicionar essa funcionalidade de dividir os arquivos de saída CSV por tamanho.

Digo isso porque preciso subir um arquivo para um cliente que hospeda o serviço na nuvem e só é possível subir arquivos de 100 Megas.

 

Agradeço demais pela ajuda.

Grande abraço.

Boa semana!

carlosteixeira
15 - Aurora
15 - Aurora

@LoGwriteR você sabe quantas linhas aproximadamente cabe em cada arquivo de 100 MB???

 

Aguardo

Carlos A Teixeira
LoGwriteR
Meteoroide

Boa noite, CarlosTeixeira!

Tudo bem?

Eu tinha mais ou menos 1 milhão de linhas na execução completa do fluxo, sem fazer nenhuma divisão do arquivo de saída de dados.

Depois que executei, o resultado tinha 308 Megas.

Fiz uma divisão simples de 1 milhão dividido por 3.

Pedi para os arquivos de saída fossem gerados com 335.000 registros.

Percebi que o resultado levava uma coluna que eu não precisava.

Apaguei essa coluna.

E abaixo, está o resultado.

Cara, com os dados que eu tenho aqui, eu consegui quebrar em 3 arquivos de 98 Megas.

LoGwriteR_1-1645497722419.png

Acredito que exista uma solução mais eficiente.

Mas, no meu caso aqui, resolveu o meu problema.

Se você conhecer alguma funcionalidade que faça isso, você pode me ensinar?

Muito obrigado.

Grande abraço.

Rótulos