基于Hive的输入在mysql中查询查询数据

拉克什·斯拉玛(Rakesh Shrama)

我需要在Hive中查询一列,并基于输出要在MySQL DB中查询它。

流程如下所示:

  1. 查询Hive表,获取ID列表
  2. 使用ID列表来查询MySQL表。查询就像select a,b,c from x where id in (list from hive)

我该怎么做呢?

ydaetskcoR

您只需要使用tHiveInput组件进行查询以检索ID,然后就有两个选择,即简单方法或困难(更好)方法:

为了简便,您可以从tHiveInput组件运行到tFlowToIterate,然后再迭代到tMySqlInput组件。这样,您在tMySqlInput组件中的查询将类似于:

"SELECT a, b, c
FROM x
WHERE id = '" + ((Integer)globalMap.get("row1.id")) + "'"

这里的row1代表运行到tFlowToIterate中的行。您还可以通过按ctrl + space并选择tFlowToIterate_x.id选项来获取此变量

然后,您可以将tBufferOutput组件连接到tMySqlInput组件以收集所有迭代,然后将其与tBufferInput组件一起读回以进行进一步处理。

显然,这是一个简单的串联,因此不是提高效率的最佳方法,当然可以接受SQL注入。但这是一个粗糙而现成的方法。

您的另一个(更难但可能更好)的选择是使用通过tMySqlRow组件(自Talend 5.4开始,tMySqlInput组件当前不支持)的参数化查询。

该答案更详细地介绍了Talend中的参数化查询,这是对另一个问题(有效地提升)的解决方案的一部分。如该答案所述,Gabriele Baldassarre的博客上有关于参数化查询的更多详细信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mysql php查询查找输入的最长匹配部分

来自分类Dev

mysql查询查找少于今天的数据

来自分类Dev

MySQL查询查找表中不存在的ID

来自分类Dev

Yesod中的查询查询参数

来自分类Dev

组成mysql查询查看的通知

来自分类Dev

MySQL查询查看性能下降

来自分类Dev

如何在Rails中的ruby中查询查询?

来自分类Dev

MySQL选择查询从基于行获取数据

来自分类Dev

通配符查询查询中带有正斜杠的数组

来自分类Dev

MongoDB v4聚合查询查询中的投影

来自分类Dev

如何在Saxon XQuery中查询查询结果

来自分类Dev

是否可以查询查询?

来自分类Dev

mongodb汇总查询查询

来自分类Dev

获取查询查询错误

来自分类Dev

查询查询表Laravel

来自分类Dev

Oracle SQL查询查询

来自分类Dev

如何根据用户输入更改Django查询查找

来自分类Dev

大查询查找可能在多个列中的数据

来自分类Dev

阻止Web“用户A”通过查询查看MySQL中的“用户B”记录?

来自分类Dev

大数据 Hive 查询

来自分类Dev

查询以过滤子表中基于数据的条件

来自分类Dev

Hive查询到MySQL

来自分类Dev

在MySQL中查询系统数据

来自分类Dev

在MySQL中检索数据的查询

来自分类Dev

MySQL查询查找唯一记录

来自分类Dev

使用 MySQL 和 PHP 查询时出错,基于显示数据库中的数据

来自分类Dev

基于用户输入的PHP和MySQL查询无法正常工作

来自分类Dev

如何基于输入框运行MySQL查询。

来自分类Dev

分层查询/基于表输入