pysparkでデータフレームの列名を変更するにはどうすればよいですか?

| | |

私はパンダのバックグラウンドを持っており、CSVファイルからデータフレームにデータを読み込んでから、次の簡単なコマンドを使用して列名を便利な名前に変更することに慣れています。

  df.columns = new_column_name_list  

ただし、sqlContextを使用して作成されたpysparkデータフレームでは同じことが機能しません。これを簡単に実行できる唯一の解決策は次のとおりです。

  df = sqlContext.read.format( "com.databricks.spark.csv")。options(header = "false"、inferschema = "true"、delimiter = "").load( "data.txt")oldSchema = df.schema for i、k in enumerate(oldSchema.fields):k.name = new_column_name_list [i] df = sqlContext.read.format( "com.databricks.spark.csv")。options(header = "false"、 delimiter = "").load( "data.txt"、schema = oldSchema) 

これは基本的に変数を2回定義し、最初にスキーマを推測し、次に列名の名前を変更してから、更新されたスキーマを使用してデータフレームを再度作成します。

より優れた、より効率的なデータフレームはありますかパンダのようにこれを行う方法はありませんか?

私のスパークバージョンは1.5.0です