当前位置: 首页 > 知识库问答 >
问题:

Talend Open Studio:在MySQL中动态创建表

贝杜吟
2023-03-14

我试图了解如何使用Talend在MySQL中进行动态创建表。在其他ETL工具(如Pentaho)中,它们有一个名为“元数据”的特定组件来完成这一任务。所以我的用例如下:1)在MySQL中手动创建数据库2)使用Talend读取CSV头信息,并将其用作在MySQL中使用Talend创建的表的字段。

我已经搜索过了,也找不到这个特定的功能在线的任何东西。[注:使用Talend开放工作室进行大数据版本:6.4.1]

我已经在这方面取得了进展,但是在尝试使用NumericSequence函数在MySQL输出上生成主键时遇到了一些问题。我的数据本身没有主键,但希望包含一个主键:我有一个tMap的屏幕截图附在这里:

另外,我得到了一个编译/构建错误。它似乎不喜欢主键生成。

见所附图像。

这里还有主键的tMySQLOutput设置:

我更改了tMySQL组件中主键的名称,使其与tMap输出区域组件的名称相匹配,但我得到了相同的编译错误。我将在此处附加此错误:

共有1个答案

史鹏云
2023-03-14

要在Talend中动态创建MySQL表,可以使用tMysqlOutput组件中的“对表操作”选项之一(在您的示例中为“创建表。。。。。。)。

https://help.talend.com/reader/4i8tdqgtropdl5mxas3qw/adnklehxlevilu9pnbcong

不要忘记正确定义PK字段,以便进一步插入,更新,删除。。。

然后,如果需要,通过您最喜欢的数据库工具(MySQL Workbench,DBeaver或其他),您可以检索DDL(和DML)脚本

我希望这能回答你的问题。

 类似资料:
  • 问题内容: 我在mysql上创建数据库。首先创建主体表,每个表平均有30列。日志表的标准是引用表的pk加上每列*2。像这样: 参考表: 日志表: 现在,我想要创建一个过程,在该过程中,我将表名作为参数传递,并生成表日志查询并执行它。 做这个的最好方式是什么? 问题答案: 为了使一个字符串代表一个表(或数据库)名称,您将需要用变量连接查询字符串,并在存储过程中准备/执行一条语句。这是一个基本示例。

  • 问题内容: 我有以下查询,该查询返回,商店编号及其区域以及2016年商店销售额的总和。 我将如何添加第四列,以总结每个商店所在区域的销售额。 每个区域有许多存储,因此,在相同区域中具有存储的每个ROW上,该值将相同。 希望我能解释清楚吗? 问题答案: 您可以使用窗口功能:

  • 我们在没有任何产品数据的情况下设置了hybris,产品存储在MDM中,并使用另一个系统(Java app)在前端显示。当用户单击上游系统上的checkout以在hybris中创建产品时,请求被发送到hybris。hybris中是否有OOTB API,允许我们动态创建包含所有必填字段的产品。

  • 我知道如何在MVC中创建视图。

  • 我想要这样的url baseURL/dealer/index.php?r=rest/packinfo 我开始犯错了 URL查询字符串“r=rest/{method}”不能有replace block。对于动态查询参数,请使用@query。

  • 问题内容: 我是python的初学者,并且满足在python脚本中动态声明/创建一些列表的要求。我需要在输入4时创建4个列表对象,例如depth_1,depth_2,depth_3,depth_4。 以便它可以动态创建列表。您能为我提供解决方案吗? 感谢你在期待 问题答案: 您可以使用或进行所需的操作。 为什么不使用清单清单?

  • 问题内容: 你好,我有这个设置 我需要为每个按钮获取以下内容 在Java中是否可以为我声明的每个按钮动态创建此按钮?因为当我有5个按钮时,我不需要3x5 = 15行代码,而是只有几行具有动态创建的按钮。 问题答案: 编写一个小循环并将您的按钮存储在数组中:

  • 你好,我已经准备好了 我需要为每个按钮获得以下内容 在Java中,是否可以为我声明的每个按钮动态创建它?因为当我有5个按钮时,我不希望3x5=15行代码,而只希望有几行动态创建的按钮。