Tipos de dados
Bom trabalho! Antes de você começar a modelagem, é importante saber que o Spark só lida com dados numéricos. Isso significa que todas as colunas do DataFrame devem ser inteiros ou decimais (chamados de "doubles" no Spark).
Quando importamos nossos dados, deixamos que o Spark adivinhasse o tipo de informação que cada coluna continha. Infelizmente o Spark nem sempre acerta, e você pode ver que algumas das colunas do DataFrame são strings que contêm números, em vez de valores numéricos em si.
Para corrigir isso, você pode usar o método .cast()
em combinação com o método .withColumn()
.
É importante observar que .cast()
funciona com colunas, enquanto .withColumn()
funciona com DataFrames.
O único argumento que você precisa passar para .cast()
é o tipo de valor que deseja criar, em forma de string. Por exemplo: para criar números inteiros, você deve passar o argumento "integer"
e, para números decimais, deve usar "double"
.
Você pode colocar essa chamada a .cast()
dentro de uma chamada a .withColumn()
para substituir a coluna já existente, exatamente como fez no capítulo anterior!
Que tipo de dados o Spark precisa para modelagem?
Este exercício faz parte do curso
Introdução ao PySpark
Exercício interativo prático
Transforme a teoria em ação com um de nossos exercícios interativos
