0
スパークScalaでUDFの入力パラメータを定義し、私は、UDFを定義しています私はスカラ座で働いています
の火付け役、ここではそれが
今def udfcrpentcd = udf((CORP_ENT_CD:String)=>{
state_name match{
case "IL1" if state_name.contains("IL1")=> "IL1"
case "OK1" if state_name.contains("OK1")=> "OK1"
case "TX1" if state_name.contains("TX1")=> "TX1"
case "NM1" if state_name.contains("NM1")=> "NM1"
case "MT1" if state_name.contains("MT1")=> "MT1"
case _ =>"Null"
}})
val local_masterdb =old_dataframe_temp_masterdbDataFrame.withColumn("new_columna_name_CORP_ENT_CD",udfcrpentcd(old_dataframe_temp_masterdbDataFrame("last_column_of_old_dataframe_DB_STATUS")+1))
local_masterdb.show()
で、私は上記のUDFを再利用したい、
私はこれを普遍的にしたいのですが、state_nameを比較するのではなく、文字列を渡す必要があります。次にCRP_ENT_CD ...が返されます。これは正しい方法は戻ってそれを呼び出す方法を、次に
これが正しい方法です....
def udfcrpentcd (input_parameter:String) = udf((CORP_ENT_CD:String)=>{
input_parameter match{
case "IL1" if input_parameter.contains("IL1")=> "IL1"
case "OK1" if input_parameter.contains("OK1")=> "OK1"
case "TX1" if input_parameter.contains("TX1")=> "TX1"
case "NM1" if input_parameter.contains("NM1")=> "NM1"
case "MT1" if input_parameter.contains("MT1")=> "MT1"
case _ =>"Null"
}})
ですか? パラメータを渡すことに関するanyhelp