如何将ID添加到Spark中的所有数据帧



嗨,我的CSV文件结构就像

File-1
    id col1 col2
    a_1  sd    fd
       ds    emd
       sf    jhk
File-2
    id col1 col2
    b_2  sd    fd
       ds    emd
       sf    jhk

现在我希望,当我将CSV文件加载到数据框中时,该文件1的所有行应该具有值1,并且文件2值2。因此,我的Datframe应该看起来像 -

    id  col1  col2
    a_1  sd    fd
    a_1  ds    emd
    a_1  sf    jhk
    b_2  sd    fd
    b_2  ds    emd
    b_2  sf    jhk

我想执行此操作,以便我可以通过读取多个CSV文件来识别文件ID。请注意,我不想将文件名添加为ID,我想在文件的第一行中使用ID列要扩展到数据框中的所有相应的文件行。

如果您确定它是否在第一行中。以下是psudo代码。

file1_id = df_file1.filter(id != None).select(col('id')).collect()[0]

,然后使用上述文件的ID作为

df_file1.drop('id').withColumn('id',lit(file1_id))

遵循第二个dataframe df_file2的相同然后进行联盟

df_file = df_file1.unionAll(df_file2)

相关内容

  • 没有找到相关文章

最新更新