Как выбрать и заказать несколько столбцов в фрейме данных Pyspark после соединения

Я хочу выбрать несколько столбцов из существующего фрейма данных (который создается после объединения) и хотел бы заказать файлы в качестве целевой структуры таблицы. Как это можно сделать ? Подошел я использовал ниже. Здесь я могу выбрать необходимые столбцы, необходимые, но не в состоянии сделать в последовательности.

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]

account_sk_id должен быть на 2-м месте. Как лучше всего это сделать ?

1 ответов


попробуйте выбрать столбцы, просто предоставив список, а не повторяя существующие столбцы или порядок должен быть в порядке:

account_sk_df_ld = account_sk_df.select(*hist_columns)