【问题标题】:How to get the length of Row in FlinkSQL?如何获取 FlinkSQL 中 Row 的长度?
【发布时间】:2020-06-08 14:38:34
【问题描述】:

sql:CREATE TABLE tab1 ( data Row<id BIGINT,name VARCHAR>) WITH ...;

我想知道 Row 的长度,例如: select length(data) as size from tab1... 输出长度为2。

我该怎么做?

【问题讨论】:

  • 我要的是列数而不是行数

标签: hadoop apache-flink flink-streaming flink-sql


【解决方案1】:

Row 类型有一个 getArity() 方法,您可以直接在 Table API 中使用,也可以将其包装在用户定义的函数中以便在 SQL 中使用。

【讨论】:

    【解决方案2】:

    假设 FlinkSQL 使用的是普通 SQL,你可以试试

    SELECT COUNT(*) as size FROM tab1;
    

    【讨论】:

    • 这基本上会计算表中的行数而不是列数。
    • 是的,我想获取列数而不是行数
    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 2010-11-15
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    相关资源
    最近更新 更多