আমি পান্ডাস ব্যাকগ্রাউন্ড থেকে এসেছি এবং সিএসভি ফাইলগুলি থেকে ডেটাফ্রেমে ডেটা পড়তে অভ্যস্ত এবং তারপরে সহজ কমান্ডটি ব্যবহার করে কলামের নামগুলি দরকারী কিছুতে পরিবর্তিত করব:
df.columns = new_column_name_list
তবে, sqlContext ব্যবহার করে তৈরি করা pyspark ডেটা ফ্রেমগুলিতে একই কাজ করে না। আমি সহজেই এটি করতে কেবলমাত্র সমাধানটি হ'ল নিম্নলিখিতটি:
df = sqlContext.read.format("com.databricks.spark.csv").options(header='false', inferschema='true', delimiter='\t').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='\t').load("data.txt", schema=oldSchema)
এটি মূলত দুটি বার ভেরিয়েবলটি সংজ্ঞায়িত করছে এবং স্কিমাটি অনুমান করছে প্রথমে কলামের নাম পরিবর্তন করে এবং তারপরে আপডেট হওয়া স্কিমা দিয়ে আবার ডেটা ফ্রেম লোড করছে।
আমরা পান্ডে করে যাবার মতো আরও কি আরও কার্যকর এবং কার্যকর উপায় আছে?
আমার স্পার্ক সংস্করণ 1.5.0
for
লুপ + দিয়ে করেছিwithColumnRenamed
তবে আপনারreduce
বিকল্পটি খুব সুন্দর :)