これで、Sparkの列rlikeでregexを使用して、文字列の最後の桁を抽出しています。問題は、数字を抽出した後、自動的にブール値に変換されることです。自動的にBooleanに変換されないようにする方法はありますか?例えばSpark column rlike intをbooleanに変換します
test.withColumn("Quarter", $"Month".rlike("\\d+$"))
:
入力:
2015 Q 1
2015 Q 1
2015 Q 2
2015 Q 2
出力:期待
true
true
true
true
:1 1 2 2
私は整数にした後、それをキャストしようとしたが、それは、Dすべてoesは、BooleanからIntに変換されるため、1を返します。
test.withColumn("Quarter", $"Month".rlike("\\d+$").cast("integer"))
'。四捨五入("四半期 "、regexp_replace( '月"、*(\\ d +)$ "、" $ 1 "))')を試してみてください。 –
あなたの問題を解決する答えがありますか?それを受け入れてください –