将文本文件映射到 key/value 对,以便将它们分组到 pyspark 中

Map a text file to key/value pair in order to group them in pyspark

我想从一个文本文件在 pyspark 中创建一个 spark 数据框,它具有不同的行数和列数并将其映射到 key/value 对,键是第一列的前 4 个字符的文本文件。我想这样做是为了删除多余的行并能够在以后按键值对它们进行分组。我知道如何在 pandas 上做到这一点,但仍然不知道在 pyspark 中从哪里开始这样做。

我的输入是一个包含以下内容的文本文件:

  1234567,micheal,male,usa
  891011,sara,femal,germany

我希望能够按第一列中的前六个字符对每一行进行分组

创建一个仅包含第一列的前六个字符的新列,然后按其分组:

from pyspark.sql.functions import col
df2 = df.withColumn("key", col("first_col")[:6])
df2.groupBy("key").agg(...)