开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

阿里云flink全托管, 维表的数据格式长什么样子呢,能否给个例子呢?

想请教下大家Flink, 阿里云flink全托管,flink sql 关联redis 维表, 维表的数据格式长什么样子呢,能否给个例子呢?46ca4e17e088ae09524daadd093dc042.png

展开
收起
cuicuicuic 2023-08-09 13:19:24 81 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Flink SQL关联Redis作为维表,Redis的数据格式一般是键值对形式。

    例如,有一个用户表需要关联Redis维表获取用户详细信息:

    用户表(Main Table):

    user_id name
    1 Lisa
    2 Tom
    Redis维表(Lookup Table):

    Key(字符串): userId(如"1")
    Value(JSON字符串):

    {"user_id":"1", "age":25, "address":"Beijing"}

    {"user_id":"2", "age":30, "address":"Shanghai"}

    然后在Flink SQL中使用LEFT OUTER JOIN关联:

    sql
    Copy
    SELECT
    t.*,
    u.age,
    u.address
    FROM user_table t
    LEFT JOIN Redis_table('userId') u
    ON t.user_id = u.user_id
    其中Redis_table是一个自定义的Lookup Table函数,用来从Redis中读取指定键的值作为单条记录。

    这样就可以在SQL语句内部通过关联Redis维表,将详细信息JOIN到主表中进行查询分析了。

    2023-08-10 17:21:28
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Redis集群演化的心路历程——从2.x到3.0时代 立即下载
    微博的Redis定制之路 立即下载
    云数据库Redis版的开源之路 立即下载