相关疑难解决方法(0)

在pyspark中按行连接字符串

我有一个pyspark数据帧

DOCTOR | PATIENT
JOHN   | SAM
JOHN   | PETER
JOHN   | ROBIN
BEN    | ROSE
BEN    | GRAY
Run Code Online (Sandbox Code Playgroud)

并需要按行连接患者姓名,以便我得到如下输出:

DOCTOR | PATIENT
JOHN   | SAM, PETER, ROBIN
BEN    | ROSE, GRAY
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我在pyspark中创建这个数据帧吗?

提前致谢.

python apache-spark pyspark

5
推荐指数
1
解决办法
6583
查看次数

合并pyspark中多行的文本

我使用以下代码创建了一个PySpark数据框

testlist = [
             {"category":"A","name":"A1"}, 
             {"category":"A","name":"A2"}, 
             {"category":"B","name":"B1"},
             {"category":"B","name":"B2"}
]

spark_df = spark.createDataFrame(testlist)
Run Code Online (Sandbox Code Playgroud)

结果:

category    name
A           A1
A           A2
B           B1
B           B2
Run Code Online (Sandbox Code Playgroud)

我想使其显示如下:

category    name
A           A1, A2
B           B1, B2
Run Code Online (Sandbox Code Playgroud)

我尝试了以下无效的代码

spark_df.groupby('category').agg('name', lambda x:x + ', ')
Run Code Online (Sandbox Code Playgroud)

谁能帮助您确定我做错了什么以及实现这一目标的最佳方法?

pyspark spark-dataframe

3
推荐指数
1
解决办法
3291
查看次数

将多行合并为一行

我正在尝试通过 pyspark 构建 sql 来实现这一点。目标是将多行组合成单行示例:我想将其转换为

+-----+----+----+-----+
| col1|col2|col3| col4|
+-----+----+----+-----+
|x    |  y |  z |13::1|
|x    |  y |  z |10::2|
+-----+----+----+-----+
Run Code Online (Sandbox Code Playgroud)

+-----+----+----+-----------+
| col1|col2|col3|       col4|
+-----+----+----+-----------+
|x    |  y |  z |13::1;10::2|
+-----+----+----+-----------+
Run Code Online (Sandbox Code Playgroud)

sql apache-spark-sql pyspark pyspark-sql

0
推荐指数
1
解决办法
3472
查看次数