Parsing 要在PySpark中动态分析的列
每个新数据中的列名和列数都不同。我希望在PySpark中动态解析列,并为传入的数据集创建唯一的模式Parsing 要在PySpark中动态分析的列,parsing,dynamic,pyspark,schema,Parsing,Dynamic,Pyspark,Schema,每个新数据中的列名和列数都不同。我希望在PySpark中动态解析列,并为传入的数据集创建唯一的模式 Input 1 : old Name Position_-07/05/2020 Department Peter Grade-A LS Robin Grade-B LS Rosy Grade-A HS Silve
Input 1 : old
Name Position_-07/05/2020 Department
Peter Grade-A LS
Robin Grade-B LS
Rosy Grade-A HS
Silver Grade-C HS
Jeo Grade-B AS
Input 2: df_new
Name Position_-07/06/2020 Department percentage
Peter Grade-A LS 90
Robin Grade-A LS 85
Rosy Grade-A HS 92
Silver Grade-C HS 60
Jeo Grade-B AS 75
Wilson Grade-A HR 93
old_column=["name",Position_07/05/2020,Department]
col_new=[]
col_current=df_new.columns
for filed_name in df_new.columns:
if filed_name in old_columns:
col_new.append(field_name)
new_col=set(col_new+col_current)
schema= [StructField(field_name, StringType(), True) for field_name in new_col]
在那之后我陷入困境。我想要两个数据集的唯一模式
out put: Name Position_07/05/2020 position_07/06/2020 Department percentage
Peter Grade-A Grade-A LS 90
Robin Grade-B Grade-A LS 85
Rosy Grade-A Grade-A HS 92
Silver Grade-C Grade-c HS 60
Jeo Grade-B Grade-B AS 75
Wilson NULL Grade-A HR 93
根据您的示例,这只是一个基本连接
old.join(df_new,on=“Name”)
您能否根据输入显示预期的输出?我添加了示例输出如果有两个Peter,会发生什么?下一个文件架构是什么?只是位置的新日期?数据集上没有主键函数。只需向dataframe添加一条新记录,其余值为null。我想看看动态模式,列的数量和名称是不同的。每个月我都会得到一个文件的一些额外的列。因此,我们决定使用“N”字段的唯一模式。