pyspark 从数据框中检索可变数量的值
pyspark retrieve variable numbers of values from a dataframe
使用 pyspark 我已经到了无法继续前进的地步。
我有一个 table 向我传递由连字符 (-) 分隔的某些字段的名称,这些字段的数量是可变的。
我需要找到一种方法,以预先确定的 table.
读取(并相互连接)这些字段的各种值
假设字段名称在“columnsname”变量中并且 table (Dataframe) 称为 df,我该如何解决这个问题?
columnsnames = columnsnames1.split("-")
df = spark.read.parquet(path_table + table_name)
编辑:我需要读取列名的值,我尝试这样做
for c in columnsnames:
F.col(c)
但是没用
使用 *
.
打包 columnsnames
列表后可以使用 concat
import pyspark.sql.functions as F
df = spark.createDataFrame([('abcd','123', '456')], ['s', 'd', 'f'])
df.select(*[columnsnames]).select(F.concat(*[F.col(colname) for colname in columnsnames])).show()
输出
+---------------+
|concat(s, d, f)|
+---------------+
| abcd123456|
+---------------+
使用 pyspark 我已经到了无法继续前进的地步。 我有一个 table 向我传递由连字符 (-) 分隔的某些字段的名称,这些字段的数量是可变的。 我需要找到一种方法,以预先确定的 table.
读取(并相互连接)这些字段的各种值假设字段名称在“columnsname”变量中并且 table (Dataframe) 称为 df,我该如何解决这个问题?
columnsnames = columnsnames1.split("-")
df = spark.read.parquet(path_table + table_name)
编辑:我需要读取列名的值,我尝试这样做
for c in columnsnames:
F.col(c)
但是没用
使用 *
.
columnsnames
列表后可以使用 concat
import pyspark.sql.functions as F
df = spark.createDataFrame([('abcd','123', '456')], ['s', 'd', 'f'])
df.select(*[columnsnames]).select(F.concat(*[F.col(colname) for colname in columnsnames])).show()
输出
+---------------+
|concat(s, d, f)|
+---------------+
| abcd123456|
+---------------+