привет, я выяснил проблему,
Так как вы пишете в формате sql, так как sql не имеет опции \ d, она не дает никакого значения. Следовательно, вам нужно написать как '[0-9] +', чтобы получить любой ди git.
. В вашем случае замените, как показано ниже:
spark.sql("SELECT adr_house_no as house_no, CAST(regexp_extract(adr_house_no, '([0-9]+)',1) AS INT) as adr_house_no, regexp_extract(adr_house_no, '([A-Za-z]+$)',1) as adr_house_no_ad FROM subscriber_info_address_subscriber").show()
В качестве альтернативы, если вы хотите использовать регулярные выражения python, тогда вам нужно написать свой код в кадрах данных, как показано ниже, тогда он будет работать:
df.withColumn('house_no',regexp_extract('adr_house_no','(\d+)',1).cast('int')).withColumn('adr_house_no_ad',regexp_extract('adr_house_no', '([A-Za-z]+$)',1)).show()