簡體   English   中英

如何將 pyspark 行轉換為 class?

[英]How to convert pyspark row to class?

我有一個 dataframe 如下所示,

df=spark.sql('select * from <table_name>')

++++++++++++++++++++++++++++++++++++++
|  Name    | Max   |  Name   | Avg   |
++++++++++++++++++++++++++++++++++++++
|  pouser1 | 1.0   |  2.0    | 3.0   |
|  pouser2 | 1.0   |  2.0    | 3.0   |
|  pouser3 | 1.0   |  2.0    | 3.0   |
+++++++++++++++++++++++++++++++++++++|

我有一個定義如下的 class,

class pouser:

  @property
  def name():
     return self.__name

  @property
  def max():
     return self.__max

  @property
  def min():
     return self.__min

  @property
  def avg():
     return self.__avg

是否可以將 dataframe 轉換為pouser對象列表?

是的,這是可能的(但它真的是 spark 的用例嗎?也許不是)。

Spark 是一個大數據處理工具,你可以在其中處理計算機無法容納的大數據 memory。 您當前的示例正好相反,試圖將這些數據以對象的形式放入計算機 memory 中。

因此,如果您仍想使用 spark 執行此操作,您可以使用df.toPandas()將數據收集到 memory 中,然后通過遍歷行從那里創建對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM