1
resposta

IDE (visual studio) com Jupyter! read.CSV, le apenas de 1 em 1...

Olá Boa tarde. Tenho uma dúvida sobre como carregar os arquivos localmente para quem está realizando o curso com jupyter através de uma IDE (Visual Studio). Baixei e extrai os arquivos para pastas no mesmo local onde o arquivo jupyter esta, mas quando faço o código:

path =  './empresas/*'
empresas = spark.read.csv(path, sep= ';', inferSchema=True)

o Spark não consegue realizar a junção dos arquivos, fica executando pra sempre (15min e contando).. mas não consegue finalizar e fazer a junção. (OBS: fazer a leitura dos arquivos CSV individualmente ele executa numa boa, mas a concatenação é que não está fazendo) OBS2: ja tentei usar path = '/content/drive/MyDrive/curso-spark/empresas/*.csv' mas também não funcionou, roda eternamente mas não realiza a leitura de todos os arquivos. Alguem poderia me ajudar com isso?

Desde já Agradeço.

1 resposta

Como um "workaround" eu fiz o path como um lista e passei todos os arquivos nele, com o seguinte codigo.

path =  ['./empresas/part-00000-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', './empresas/part-00001-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', './empresas/part-00002-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv',
'./empresas/part-00003-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', './empresas/part-00004-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', './empresas/part-00005-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', 
'./empresas/part-00006-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', './empresas/part-00007-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', './empresas/part-00008-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv', 
'./empresas/part-00009-58983ad4-8444-4405-aec6-9cd3e5413d1b-c000.csv']
empresas = spark.read.csv(path, sep= ';', inferSchema=True)

quando fiz o count() de empresas deu o resultado: 4585679 igual ao da aula, porem fico em duvida do motivo de não ter conseguidorealizar com o * ou ?.

Obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software