1
resposta

O alias não esta funcionando

Rodei o trecho de código semelhante ao instrutor, porem dá erro ou executar o alias socios .select('nome_do_socio_ou_razao_social', 'faixa_etaria', f.year('data_de_entrada_sociedade').alias('ano_de_entrada')) .show(5, False)

![print](https://cdn1.gnarususercontent.com.br/1/546085/71eef865-ae7e-4957-8764-08d56b300a02.png)  
1 resposta

Bom dia, Clarissa! Aparentemente esse erro aconteceu porque os dados não foram convertidos para o tipo data, mas sim para o tipo inteiro.

cannot resolve year due to data type mismath: argument 1 requires date type, however is 'data_de_entrada_sociedade' of int type

Creio que você converteu os dados da coluna data_de_entrada_sociedade para inteiro, em vez de date.

Você pode converter para o formato data assim:

socios = socios.withColumn(
                  'data_de_entrada_sociedade', 
                  f.to_date(socios['data_de_entrada_sociedade'].cast(StringType()), 'yyyyMMdd')
              )

Aqui está a documentação do StringType e do pyspark.sql.functions.to_date https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.types.StringType.html?highlight=stringtype https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.sql.functions.to_date.html?highlight=to_date