根据定界字符分割并加入数据框

时间:2020-03-20 03:29:37

标签: scala azure apache-spark apache-spark-sql databricks

我有1个表A,其中的数据具有以下格式

    Desc    Name
    Demo1   abc.def.txt.xls
    Demo2   pqr.wef.tuv.wsf
    Demo3   yrd.itr.poe.kjq.sce

我还有另一个表B,其中的数据具有以下格式

    Key     Id
    abc.def.txt    1000
    pqr.wef    1001
    yrd    1002

我的表C的数据格式如下:

    Hie1Nam    Hie1ID    Hie2Name    Hie2ID    Hie3Name    Hie3ID    Hie4Name 
    Hie4Id    Hie5Name    Hie5Id
    abc             1   abc.def     11      abc.def.txt     111     
    abc.def.txt.xls     1111    
    pqr             2   pqr.wef     12      pqr.wef.tuv     112     
    pqr.wef.tuv.wsf     1112
    yrd    3    yrd.itr    13    yrd.itr.poe    113    yrd.itr.poe.kjq
    1113    yrd.itr.poe.kjq.sce    11113

期望的输出如下

    Desc    Name                Id
    Demo1   abc.def.txt.xls     1000
    Demo2   pqr.wef.tuv.wsf     1001
    Demo3   yrd.itr.poe.kjq.sce 1002

因此,需要通过删除最后一个点和以下字符序列来拆分名称以获取其父代。它的父代或其任何祖父母或外祖父母都将在表BI中有一个条目,以获取相应的ID。

这3个表作为数据帧存储在数据块中。

如何使用spark sql或scala轻松实现这一目标?

0 个答案:

没有答案