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

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

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