相关疑难解决方法(0)

PySpark DataFrames - 枚举的方式而不转换为Pandas?

我有一个非常大的pyspark.sql.dataframe.DataFrame,名为df.我需要一些枚举记录的方法 - 因此,能够访问具有特定索引的记录.(或选择索引范围的记录组)

在熊猫中,我可以做到

indexes=[2,3,6,7] 
df[indexes]
Run Code Online (Sandbox Code Playgroud)

在这里,我想要类似的东西,(并且不将数据帧转换为pandas)

我能得到的最接近的是:

  • 通过以下方式枚举原始数据框中的所有对象:

    indexes=np.arange(df.count())
    df_indexed=df.withColumn('index', indexes)
    
    Run Code Online (Sandbox Code Playgroud)
    • 使用where()函数搜索我需要的值.

问题:

  1. 为什么它不起作用以及如何使其工作?如何向数据框添加行?
  2. 它会在以后工作,如下所示:

     indexes=[2,3,6,7] 
     df1.where("index in indexes").collect()
    
    Run Code Online (Sandbox Code Playgroud)
  3. 有没有更快更简单的方法来处理它?

python bigdata apache-spark rdd pyspark

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

apache-spark ×1

bigdata ×1

pyspark ×1

python ×1

rdd ×1