在日期列上拆分Mysql表,并将结果存储在具有动态名称的不同表中

时间:2018-02-16 06:52:10

标签: mysql talend

我的工作看起来像是我试图读取Mysql表的第一张图片, 并根据FROM_DATE字段拆分表。工作中的步骤如下:

  1. 使用tMap创建一个StringFromDate列 - > TalendDate.formatDate(“yyyy-MM-dd”,row1.FROM_DATE)

  2. 将tMapOutput连接到tFlowToIterate

  3. 将tFlowToIterate连接到tFixedFlowInput。 tFixedFlowInput组件配置显示在下面的第二张图片中

  4. 将tFixedFlowInput连接到tLogRow

  5. 将tLogRow连接到tMysqlOutput。 tMysqlOutput组件设置如第三张图所示。

  6. 问题是这些表只生成一行数据。当我尝试在csv文件中收集数据时,此设置可以正常使用tFileOutputDelimited中的append选项。

    请立即提供帮助。

    https://material.angular.io/components/autocomplete/overview#setting-separate-control-and-display-values

    Job Design

    tFixedFlowInput Component

1 个答案:

答案 0 :(得分:2)

问题是由tMysqlOutput设置drop table if exists and create引起的,它有效地在每次迭代时重新创建表。因此,您在表中最终得到的一行是与最后一次迭代相对应的一行 尝试设置create table if not exists
此外,根据您的后续问题,您需要在OnComponentOk -- tMysqlCommit之后添加tMysqlOutput(取消选中关闭连接)以提交插入内容。