這可能是一個愚蠢的問題,但我有一個表,其中每一列都包含一個我想傳遞給變量的值: object = spark.sql("""
select sfObject from db.tbl
where Id = {}
""".format(1))
a.show()我看到的是一個名為sfObject“ValueA”的預期對應值的列,我取回了一個pyspark.sql.dataframe.DataFrame類型對象。我正在嘗試將每列的值傳遞給一個變量,這樣object = 'ValueA'. 我怎樣才能做到這一點?謝謝!
2 回答

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
IIUC 你想要列的值而不是數據框的值,所以在你的情況下你可以這樣做
object = spark.sql("""
select sfObject from db.tbl
where Id = {}
""".format(1)).collect()[0][0]
該對象現在將包含值而不是數據框。

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
如果我正確理解了這個問題,你想從 python shell 中的 DataFrame 中獲取數據作為變量。為此,您可以使用
object.collect()
獲取具有pyspark.sql.Row
與 DataFrame 中的列對應的字段的 python 對象列表,或者
object.toPandas()
獲取DataFrame
帶有數據的 Pandas 對象。
添加回答
舉報
0/150
提交
取消