यहाँ DataFrame का उपयोग कर स्तंभ नाम जोड़ने का तरीका है।
f = sc.textFile("s3://test/abc.csv")
data_rdd = f.map(lambda line: [x for x in line.split(',')])
मान लीजिए डेटा 3 स्तंभ हैं::
data_rdd.take(1)
[[u'1.2', u'red', u'55.6']]
अब, जब DataFrame को यह RDD स्थानांतरित toDF()
का उपयोग कर आप स्तंभ नाम निर्दिष्ट कर सकते हैं: के रूप में DataFrame करने के लिए इसे स्थानांतरित करने से पहले इस प्रकार डेटा तैयार
df_withcol = data_rdd.toDF(['height','color','width'])
df_withcol.printSchema()
root
|-- height: string (nullable = true)
|-- color: string (nullable = true)
|-- width: string (nullable = true)
आप स्तंभ नाम निर्दिष्ट नहीं करते हैं, तो आप डिफ़ॉल्ट स्तंभ नाम '_1' के साथ एक DataFrame मिलता है, '_2', ...:
df_default = data_rdd.toDF()
df_default.printSchema()
root
|-- _1: string (nullable = true)
|-- _2: string (nullable = true)
|-- _3: string (nullable = true)
_ क्या डेटाफ्रेम रास्ता यहां जाने का तरीका है? _ - हाँ यह है। या 'नामित' अगर आप बहुत सादे पायथन कोड का उपयोग करने की योजना बना रहे हैं। – zero323
डेटाफ्रेम स्कीमा और आरडीडी का संयोजन है। आपके कोड में अभी वैरिएबल "एफ" एक आरडीडी है। इसलिए, यदि आप इसे स्कीमा जोड़ते हैं, तो आपको डेटाफ्रेम मिल जाएगा। फिर इसमें हेडर और कॉलम नाम होंगे। साथ ही, पोस्ट करें कि आप इस डेटा को टेबल के रूप में पंजीकृत कर सकते हैं और इसके शीर्ष पर SQL कर सकते हैं। –