这可能是一个愚蠢的问题,但我有一个表,其中每一列都包含一个我想传递给变量的值: 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
提交
取消