我是PDI和Kettle的新手,我认为这是一个简单的自学基本知识的实验,结果使很多人感到沮丧。
我想检查数据库以查看是否存在特定记录(即供应商)。我想通过读取平面文件(.CSV)来获得供应商的名称。
我的第一个障碍是从CSV的8个字段中仅选择供应商名称
第二个障碍是如何使用供应商名称作为数据库查询中的变量。
我的第三个问题是用于数据库查找的步骤类型。
我尝试了动态SQL查询,但无法确定如何使用变量构建查询,然后确定如何将所需的值传递给变量。
数据库表(VendorRatings)具有30个字段,其中之一是供应商。 CSV还具有8个字段,其中之一也是供应商。
我最大的努力是使用以下动态查询: 从供应商= =的供应商处选择*
如何以编程方式将所需的值分配给“”?在查询中?具体来说,如何将文本文件输入中特定字段的输出链接到“ vendor =”? SQL查询?
答案 0 :(得分:1)
最佳做法是使用Stream lookup
。对于主流(VendorRating)中的每条记录,根据其标识符(可能是其编号或名称或名字+姓氏),在参考文件(CSV)中查找供应商详细信息(查找字段)。
第一个“障碍” :定义了csv文件的路径后,按Get field
按钮。
它将以第一行作为标题来了解字段名称,并浏览前100个(可自定义的)记录以确定字段类型。
如果名称不在第一行,请取消选中Header row present
,按Get field
按钮,然后在面板上更改名称。
如果有多个标题行或其他复杂性,请使用Text file input
。
对于lookup step
同样有效:使用Get lookup field
按钮并删除不需要的字段。
答案 1 :(得分:1)