miki艾比利的博客

愿居于一城,与卿所见美好......

您现在的位置是:首页>漫生活>详细内容

用Kettle在数据集成中进行分区

发布时间:2019-11-14 09:38:16 编辑:miki艾比利浏览(1142)评论(0)

    让我们假设,我们用简单的数据集进行了一次转换,该数据集具有印度城市明智的州人口数。我们需要获取总人口数。我们使用“ 内存按步骤分组” 构建一个简单的转换文件,并根据State对源数据进行分组以获得总人口数。

    KTR找到明智的人口计数国家

    现在,假设你有少量的源数据,而不是源中的数百万条记录。因此,逐步进行内存分组将花费你巨大的成本。我们不是简单地通过,而是利用多核计算机的功能。

    Pentaho将为你提供一个定义步骤中数据副本数的选项。在Pentaho中按步骤定义内存组的多行是使用多核计算机的一种方法。因此,请按以下步骤对“内存组”进行以下操作:

    >>  右键单击 “内存分组依据
     ” >>选择“更改份数以开始
     ” >>将值设置为 3或大于1的任何数字

    将份数输入到3

    但是,一旦执行了上面的转换,我们就会看到结果有很大的不同,这并不是预期的。这是因为源步骤是按循环方式将数据逐步发送到“内存组”的3个副本。这些内存组中的每一个都以自己的方式逐步处理数据,最后发送输出。这是PDI中的并行性,但是在这种情况下,我们没有得到正确的输出。

    因此,我们在这里要做的就是对数据进行分区。这里的想法是将类似种类的数据发送到每个分区,然后通过分组而不是根据上述数据进行分组。它像3 Memory Step by Step,每个分区都有分区数据,例如分区1中的西孟加拉邦,分区2中的喀拉拉邦,等等。

    在PDI中创建分区

    创建分区要遵循的步骤:

    >>转到转换的
    设计”选项卡>>在“分区模式”选项卡中,创建一个“新模式
     ” >>输入“分区名称”。它可以是任何可读的名称。
    >>输入分区ID或所需的分区数。
    到目前为止,对分区没有命名约束。 
    只需给出分区1,分区2等。

    完成上述步骤后。现在继续进行转换并执行以下操作:

    >>右键单击“内存组”,一步步
     >>选择“分区”。
    >>选择“分区”方法。选择除法余数>>选择分区架构。
    这是上面在“设计”选项卡中创建的所有分区架构的列表。
    >>接下来,你需要选择要分区的字段。
    选择一个合适的。

    最后,你将看到类似以下的内容:

    带有分区架构和数据的KTR

    执行后,返回的结果是正是我们需要的:

    最终分区输出

关键字词:kettle分区