问题标签 [beam-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 回答
82 浏览

google-cloud-dataflow - BeamSQL 中是否有“LIKE”的解决方法?

我们有一个运行 BeamSql 查询的 Apache Beam 2.4.0 管道。在 BeamSql 中,SQL 语句“LIKE”会引发异常“LIKE 尚未实现”。BeamSql 中是否有“LIKE”的解决方法?我们需要能够对字符串执行通配符查询。

0 投票
1 回答
980 浏览

google-cloud-platform - Beam SQL / Apache Beam 在运行多个连接时速度较慢

在使用 Beam SQL 对 2 个表进行连接时,它可以正常工作,提供预期的性能,但随着我的连接表增加,性能变得最差。

下面是我的片段,它可以帮助您在 Beam SQL 中调试我的加入条件以获得更好的性能。

我可以在 Beam SQL/Apache Beam 上进行连接的任何更好的方法,因为表中的顺序连接,

前一个输出负责下一个表连​​接。我也尝试使用 Co-GroupBy 和 SideInput 混合方法,其中表中的数据低于 5K 我采用 SideInput 并且数据高于 50K 使用 Co-GroupBy 进行连接,但性能不达标。

0 投票
1 回答
861 浏览

google-cloud-dataflow - 在语句中使用聚合时 Beam SQL 不起作用:“无法计划执行”

我有一个基本的 Beam 管道,它从 GCS 读取数据,执行 Beam SQL 转换并将结果写入 BigQuery。

当我不在我的 SQL 语句中进行任何聚合时,它可以正常工作:

但是,当我尝试用总和进行聚合时,它会失败(抛出CannotPlanException异常):

堆栈跟踪:

我正在使用 Beam 2.6.0

我错过了一些明显的东西吗?

0 投票
2 回答
2257 浏览

sql - Calcite 如何处理数据转换?

我正在尝试将存储为字符串的日期转换为日期,例如

YYYYMMDD(字符串)到 YYYY-MM-DD(日期)

据我所知,没有检查输入格式和输出格式的转换功能,我尝试了手动逻辑,例如

但是 Apache SQL Validator 不接受这点,有人在这里看到问题吗?

0 投票
1 回答
1378 浏览

hive - Apache Beam SqlTransforms 架构问题

我正在尝试执行 ETL,其中涉及从 HDFS 加载文件、应用转换并将它们写入 Hive。在按照此文档使用 SqlTransforms 执行转换时,我遇到了以下问题。你能帮忙吗?

代码片段:

0 投票
1 回答
147 浏览

google-cloud-dataflow - RexCall 无法在 Apache Beam SQL 中转换为 RexInputRef 异常

我正在尝试使用 Beam SQL 进行简单的连接,但在编译时出现异常:

加入是这样的:

在 BigQuery 中执行时,此条件可以正常工作(尝试作为健全性检查)。不知道为什么它会破坏 Beam SQL。我什至尝试过使用 Beam SQL UDF,但它也没有帮助。我认为这是因为 Apache Calcite 及其遵循的格式,但我不知道如何处理它。

有人可以帮忙吗?

0 投票
1 回答
108 浏览

google-cloud-dataflow - 无法从 ApacheBeam sql 调用“ApproximateDistinct.ApproximateDistinctFn”

尝试使用ApproximateDistinct.ApproximateDistinctFnapache beam sql 中的聚合函数,但失败了。

我的 SQL:

我在 Apache-Beam 中调用此查询的代码:

这引发了这个异常:

0 投票
1 回答
444 浏览

google-cloud-dataflow - 使用 BeamSQL 取消嵌套嵌套的 PCollection

尝试使用 BeamSQL 取消嵌套 PCollection 的嵌套类型。让我们假设具有员工及其详细信息的 PCollection。这里的详细信息在嵌套集合中。因此,如果我们使用 BeamSQL,"SELECT PCOLLECTION.details FROM PCOLLECTION"那么在单独的 PCollection 中获取嵌套类型的详细信息作为数组集合。但是,当我想从嵌套类型集合中获取特定列作为详细信息时,会出现无法找到列名之类的错误。尝试了类似 BeamSQL(类似于 BigQuery SQL)"SELECT X.address FROM PCOLLECTION, Unnest(details) as X"然后得到空指针异常。使用 2.12.0 Apache Beam 版本。

欣赏一些人请帮助解决这个问题。

下面是详细信息嵌套值的示例数据(详细信息有电子邮件、电话列。所以每行,'n'没有详细信息列表。这里有两个详细信息列表):

这是第二个 select 语句的 Java 堆栈跟踪:

0 投票
1 回答
174 浏览

apache-beam - 如何在 Beam SQL shell 中添加 google cloud pubsub 作为源?

我正在尝试并想测试无限资源在可用性和性能方面的工作方式BeamSQL在这里shell阅读文档,我创建了一个外部表,如下所示 -

现在,当我尝试按如下方式查询此表时-

我收到以下错误-

任何帮助,将不胜感激。

0 投票
1 回答
376 浏览

google-cloud-dataflow - BeamSQL Group By查询浮点值问题

尝试使用 Google Dataflow 中的 BeamSQL 从 BigQuery 表中获取唯一值。使用 Group By 子句实现了 BeamSQL 中的条件(下面的示例查询)。其中一列具有浮点数据类型。在执行作业时遇到以下异常,

原因:org.apache.beam.sdk.coders.Coder$NonDeterministicException: org.apache.beam.sdk.coders.RowCoder@81d6d10 不是确定性的,因为:所有字段都必须具有确定性编码。原因:org.apache.beam.sdk.coders.Coder$NonDeterministicException:FloatCoder 不是确定性的,因为:浮点编码不能保证是确定性的。

BeamSQL 查询:

PCollection ST= mainColl.apply(SqlTransform.query("SELECT ID,ITEM,UNITPRICE FROM PCOLLECTION GROUP BY ID,ITEM,UNITPRICE"));

如果有人帮助我解决这个问题,那就太好了。

请注意,如果我们删除 float 列,那么 BeamSQL 查询就可以正常工作。