अजगर में सूची comprehensions का उपयोग करना, तुम सिर्फ दो पंक्तियों का उपयोग करके सूची में मूल्यों की एक पूरी स्तंभ एकत्र कर सकते हैं:
df = sqlContext.sql("show tables in default")
tableList = [x["tableName"] for x in df.rdd.collect()]
उपरोक्त उदाहरण में, हम डेटाबेस में तालिकाओं की एक सूची प्रदान ' डिफ़ॉल्ट ', लेकिन एसक्यूएल() में उपयोग की गई क्वेरी को प्रतिस्थापित करके इसे अनुकूलित किया जा सकता है।
या अधिक संक्षिप्त:
tableList = [x["tableName"] for x in sqlContext.sql("show tables in default").rdd.collect()]
और तीन कॉलम के अपने उदाहरण के लिए, हम शब्दकोशों की एक सूची बना सकते हैं और फिर पाश के लिए एक में उन के माध्यम से पुनरावृति।
sql_text = "select name, age, city from user"
tupleList = [{name:x["name"], age:x["age"], city:x["city"]}
for x in sqlContext.sql(sql_text).rdd.collect()]
for row in tupleList:
print("{} is a {} year old from {}".format(
row["name"],
row["age"],
row["city"]))
मुझे विश्वास है कि मैंने एक सही उत्तर प्रदान किया है। क्या आप चुन सकते हैं, या सुधार करने के लिए प्रतिक्रिया प्रदान कर सकते हैं? – aaronsteers