Da página: <<< link: https://cursos.alura.com.br/course/spark-apresentando-ferramenta/task/97738 Na última aula verificamos os tipos de dados de nossos DataFrames. Quando avaliamos os dados do DataFrame empresas notamos que a coluna com a informação de capital social da empresa (capital_social_da_empresa) estava representada como uma string. Marque a opção que na sua opinião indica a melhor forma de armazenar este tipo de dados.
Alternativa incorreta double.
Alternativa incorreta date.
Alternativa incorreta integer.
O tipo integer que vimos em nossos Dataframes é utilizado para indicar que o dado é representado por um número inteiro, ou seja, um número que não apresenta casas decimais. Capital social é uma informação monetária, então precisamos de um tipo que represente esta informação de maneira mais correta.
Ocorre que não se usa float (double é um float mais preciso) para valores monetários. A moeda de dez centavos: R$0,10 é dízima periódica em binário. O tipo correto conforme link passado na aula anterior https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/data_types.html é: DecimalType([precision, scale]) Decimal (decimal.Decimal) data type. Ocorre que valor social é um número inteiro, normalmente múltiplo de mil ou dez mil. Nesse caso, a opção correta da página seria integer e não double.
Sugiro corrigir a questão: OU mudando a resposta correta para INTEGER OU incluindo a opção mais correta DecimalType