Comment sélectionner et de commander plusieurs colonnes dans une Pyspark Dataframe après une jointure
Je veux sélectionner plusieurs colonnes existantes dataframe (qui est créé après les jointures) et que vous souhaitez commander les champs que ma cible structure de la table. Comment peut-il être fait ? L'approche que j'ai utilisée est ci-dessous. Ici, je suis en mesure de sélectionner les colonnes nécessaires requis, mais ne peut pas le faire dans l'ordre.
Required (Target Table structure) :
hist_columns = ("acct_nbr","account_sk_id", "zip_code","primary_state", "eff_start_date" ,"eff_end_date","eff_flag")
account_sk_df = hist_process_df.join(broadcast(df_sk_lkp) ,'acct_nbr','inner' )
account_sk_df_ld = account_sk_df.select([c for c in account_sk_df.columns if c in hist_columns])
>>> account_sk_df
DataFrame[acct_nbr: string, primary_state: string, zip_code: string, eff_start_date: string, eff_end_date: string, eff_flag: string, hash_sk_id: string, account_sk_id: int]
>>> account_sk_df_ld
DataFrame[acct_nbr: string, primary_state: string, zip_code: string, eff_start_date: string, eff_end_date: string, eff_flag: string, account_sk_id: int]
La account_sk_id besoin d'être dans la 2ème place. Quelle est la meilleure façon de le faire ?
Vous devez vous connecter pour publier un commentaire.
Essayez de sélectionner des colonnes par juste de donner une liste, pas par l'itération existings colonnes ou la commande devrait être OK: