问题标签 [flink-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
578 浏览

apache-flink - Flink State 可以替代外部数据库吗

我有一个 Flink 项目,它接收一个事件流,并执行一些逻辑来添加这个事件的标志,然后它会保存flag一段eventID 时间以供其他系统重用或查询。

在这种情况下,数据量不会太多,而且需要有良好的可靠性,当然最好在使用前及时更新

传统上,我们可以使用外部数据库来保存此类数据。但是在了解了 state 之后,我发现它似乎很有用,并且有很好的 backends 机制,并且可以查询。

所以我提出问题是为了更多地倾听你的论点和证据。

0 投票
3 回答
3355 浏览

apache-flink - Apache Flink:如何为动态表启用“upsert 模式”?

我在 Flink 文档和 Flink 官方博客中看到过多次提到基于唯一键的动态表的“upsert 模式” 。但是,我没有看到任何关于如何在动态表上启用此模式的示例/文档。

例子:

  • 博文

    通过更新模式在流上定义动态表时,我们可以在表上指定唯一的键属性。在这种情况下,对键属性执行更新和删除操作。更新模式如下图所示。

  • 文档

    转换为upsert 流的动态表需要一个(可能是复合的)唯一键

所以我的问题是:

  • 如何在 Flink 中的动态表上指定唯一键属性?
  • 如何将动态表置于更新/更新/“替换”模式,而不是附加模式?
0 投票
1 回答
1639 浏览

apache-flink - Apache Flink:在动态表上构建多对一连接的最佳方法?

我有一个经常添加/更新行的资源,称为 Orders,还有一个名为 UserProfile 的资源,更新频率较低(但通常很重要)。我想对这两个资源(当前逻辑上存储为 Flink 中的动态表)执行连续连接查询,这样当 UserProfile 更新发生时,连接表会发出一个 DataStream,其中每个与该 UserProfile 关联的订单都有一个更新的 EnrichedOrder。目标是索引这些丰富的非规范化数据,以便在下游数据接收器中进行有效查询。

我的问题是,构建此连接的最佳方式是什么?具体来说,如何确保在更新 UserProfile 时丰富联接“多”端的所有订单记录,同时仍保持性能?

由于在 Flink 中不可能进行没有时间窗口的任意内部连接(可能是出于性能原因),我想也不鼓励设置过大的时间窗口。

此用例的推荐方法是什么?

0 投票
1 回答
1948 浏览

apache-flink - 如何将模式附加到 Flink DataStream - 即时?

我正在处理数据库突变流,即更改日志流。我希望能够使用 SQL 查询来转换值。我很难将以下三个概念 RowTypeInfo,RowDataStream.

注意:我事先不知道架构。我使用对象中的数据即时构建它MutationMutation是自定义类型)

更具体地说,我有看起来像这样的代码。

注意:Row对象是位置的,并且没有用于列名的占位符。我找不到将架构附加到DataStream对象的位置。

我想传递某种类似于Row包含{columnName: String, columnValue: Object, columnType: TypeInformation[_]}查询完整信息的结构。

0 投票
1 回答
433 浏览

apache-flink - Flink SQL 中 Maps 的使用

如果您注册一个表并且其中一个字段是地图(extra在这种情况下为“),则以下语句可以正常工作:

现在尝试引用映射中不存在的键。

您将获得 NPE 并且作业退出。如果有一种方法可以检查映射中是否存在特定键,那就没问题了。不幸的是,我还没有找到方法。检查IS NOT NULL不起作用。没有这个 Flink SQL 中的特征图是非常无用的。我错过了什么?谢谢!

0 投票
1 回答
718 浏览

sql - Apache Flink:如何在选择查询中删除重复项?

如何SELECT使用 Apache fFlink 删除查询中的重复项?

我的桌子是: 在此处输入图像描述

我想删除 ID 中的重复项以保持最大范围

0 投票
1 回答
1542 浏览

apache-flink - Apache Flink:如何在 TUMBLE 时间窗口中使用 DISTINCT?

我有这样的流:<_time(timestamp), uri(string), userId(int)>. 该_time属性是行时间,我将其注册为一个表:

然后我查询表:

但是,查询会引发异常:

我怎样才能实现这个查询?

0 投票
2 回答
1037 浏览

apache-flink - Apache Flink:无法将 Table 对象转换为 DataSet 对象

我在 Flink 1.4.0 上使用 Table API。我有一些Table对象要转换为DataSettype Row。该项目使用 Maven 构建并在 IntelliJ 上导入。我有以下代码,IDE 无法解析方法tableenv.toDataSet()方法。请帮帮我。谢谢你。

最后一条语句导致错误

“无法解析 toDataSet() 方法”

0 投票
0 回答
135 浏览

apache-flink - 设置字段名 Tuple TableSource FlinkDB

我将数据存储在 Tuple6 之类的元组中,并制作 SQL 语句,例如 select f1 from test。我的问题是我想设置列名而不是 f1、f2、f3。我还能拥有元组并设置列名称吗?

一些代码输入格式

这里有一些代码表源

0 投票
2 回答
4543 浏览

java - Apache Flink 错误 java.lang.ClassNotFoundException: org.apache.flink.table.sources.TableSource?

我正在 Apache Flink 中编写流媒体服务。我基本上是使用 org.apache.flink.table.sources.CsvTableSource 从 CSV 文件中挑选数据。以下是相同的代码:

但它给出以下错误:

以下是maven依赖项:

我可以看到上述类的源定义,但我仍然收到此错误。请帮忙?