lookup_Pentaho 数据整合

lookup_Pentaho data Integration

我有两个文件(App.csv 和 Acess.csv)

  1. App.csv 有一列名为 Application
    申请
    应用-A

    应用-B

  2. Access.csv 包含 3 列(应用程序、权利、用户 ID)

        Application, entitlement, userid
    
        App-A,ent-A,user1
        App-A,ent-B,user1
        App-B,ent-c,user2
        App-B,ent-d,user1
        App-C,ent-c,user2
        App-C,ent-d,user1   
    
  3. 如果 App-A 和 App-B 的详细信息与应用程序文件列匹配,我需要提取所有详细信息,输出应如下所示

        App-A,ent-A,user1                                                                                                                                                                                                                         
        App-A,ent-B,user1
        App-B,ent-c,user2
        App-B,ent-d,user1
    
  4. 我尝试使用流查找,但它只为每个应用程序提供一行,而不是属于应用程序 A 和应用程序 B 的所有行

感谢任何帮助

我已经为你准备好了解决方案Here

我用了user-define-java-class来比较值

  1. RunTrans.ktr:我从这里获取 app.csv 输入并将数据排成一行。
  2. ForOnlyLoop.kjb: 这只是为了将数据传递给下一个转换。
  3. CopmareAndResult.ktr:我从这里获取 access.csv 输入并比较结果,如果值匹配则 return 行否则 return 没有。

请告诉我您是否满意。

另一个解决方案:- 您可以使用 Here

中的 ETL 元数据注入步骤获得相同的解决方案
  1. MetaData.ktr:- 接受App.csv输入并传递值来比较ktr.
  2. Compare.ktr:采用access.csv输入并将值与'switch/case'步进行比较。我已经提供了来自 MataData.ktr 步骤的 switch-case 比较值。