0

informatica トランスフォーメーションを pyspark トランスフォーメーションに変換しようとしていますが、以下に示すコードで char を置き換えることに固執しています。

"DECODE(TRUE,
ISNULL(v_check_neg_**) OR v_check_neg_** = '', 
i_default,
NOT IS_NUMBER(v_check_neg_** , 
i_default,
REPLACECHR(0,v_check_neg_**, '+-0123456789.' ,'')<>'', 
i_default,
TO_DECIMAL(v_check_neg_**,5))


v_check_neg_** = IIF(INSTR(i_string_**,'-')!=0,'-'||SUBSTR(i_string_**,1,INSTR(i_string_**,'-')-1),i_string_**)"

これは私が試したものです:

def is_digit(value):
    if value:
        return value.isdigit()
    else:
        return False

is_digit_udf = udf(is_digit, BooleanType())

df_informatica=df_informatica.withColumn(column_name,when((isnull(col(column_name)) |(col(column_name==' ')),i_default).when(is_digit_udf(col(column_name)),i_default)

df_informatica=df_informatica.withColumn

informatica を pyspark 変換に変換するのを手伝ってください。

4

1 に答える 1