在RapidMiner中是否有一种处理来自许多不同格式的数据的过程?

时间:2019-04-07 13:17:49

标签: etl rapidminer data-munging

我正在尝试帮助我的团队简化一个占用大量时间的数据提取过程。我们接收多种格式的数据,并且属性的排列方式有所不同。是否可以使用RapidMiner创建以下过程:

  • 按计划处理放置到文件夹中的文件(此 我想我知道一个,但我很乐意按计划进行操作 对我来说是新手)
  • 自动识别输入文件类型并路由到正确的运算符(例如“读取CSV”)
  • 识别相对少量的属性并相应地排列它们。在某些情况下,属性的命名方式与我们的提取格式相同,而在其他情况下,属性则不是(例如,电话电话#电话

我们处理的属性主要包括名称 id 电话电子邮件地址。另外,在某些情况下,名字是按前/后分开的,在某些情况下,它们是全名。

我认识到,为这些简单属性修改文件并不难,但是我们收到的文件数量众多且缺乏顺序,这使得在没有一点自动化的情况下简化流程非常困难。我还将使用标准化的接收格式,但是由于种种原因,这些原因已经浮出水面,而不是立即解决。

我感谢您可以分享的任何提示或指导。

1 个答案:

答案 0 :(得分:2)

您的问题相对广泛,因此很遗憾,我无法给您完整的答案。但是这里有一些关于如何处理您提到的观点的想法:

  • 要进行全过程调度,RapidMiner Server就是您的本职 寻找。在这种情况下,您可以定义时间表(例如, 定期检查是否有新文件),甚至定义一个Web服务来 触发该过程。
  • 要根据文件类型选择正确的运算符,可以 使用“循环文件”和宏提取的组合来获取 正确的类型,并将“分支”或“选择子流程”用于 切换到不同的输入路径。

  • “选择属性”运算符具有一些非常强大的选项,可用于 仅选择特定的子集。在你的例子中,我会去 正则表达式类似于[pP]hone.*以获得不同的拼写 变体。在这种情况下,“重新排序 属性”运算符和“通过替换重命名”以创建通用 命名架构。

构建更复杂的流程管道时,一般的技巧是在sub-processes中组织不同的任务,并使用“执行流程”运算符。这使所有内容都更具可读性和可维护性。好的error handling策略对于处理不可预见的数据格式也很重要。

要获得许多精明的RapidMiner用户的详尽回答和提示,我还强烈推荐RapidMiner community

我希望这会为您的项目提供一个良好的起点。