• 11: SQL client 实现 redis 维表join


      用SQL client 能搞通redis 维表join,我在网上还没找到,我就试验,终于在sql client里运行成功了。

    我用的 “大数据羊说”写的redis connector(https://github.com/liufeiSAP/flink-study.git),flink用的flink-1.13.2_scala_2.11。

    调试了几天才通的,就是各种缺jar包。

    1: Redis connector的源码:

                     https://github.com/liufeiSAP/flink-study.git

    2:  Flink 版本: \flink-1.13.2_scala_2.11

    3: 需要的jar包:

            

    3: 以下的DDL,SQL都是在SQL client里执行。

      创建一个源表,从csv文件读取数据

    CREATE TABLE MyTable(
      MyField1 INT,
      MyField2 STRING,
       MyField3 INT,
       proctime AS PROCTIME()
    ) WITH (
      'connector' = 'filesystem',
      'path' = '/opt/flink/lib/test.csv',
      'format' = 'csv'
    );
    

      csv文件内容

     创建redis 维表:

    CREATE TABLE dimTable (
        name STRING,
        name1 STRING
    ) WITH (
      'connector' = 'redis',
      'hostname' = '192.168.5.6',
      'port' = '6379',
      'format' = 'json',
      'lookup.cache.max-rows' = '500',
      'lookup.cache.ttl' = '3600',
      'lookup.max-retries' = '1'
    );
    

      最后执行

    SELECT  o.MyField1,o.MyField2, c.name, c.name1
    FROM  MyTable AS o 
    LEFT JOIN dimTable FOR SYSTEM_TIME AS OF o.proctime AS c 
    ON o.MyField2 = c.name;
    

      

  • 相关阅读:
    2. 逻辑运算
    1. 条件
    6. 可变不可变类型
    5. 基本运算符
    4. 与用户交互
    12 .命名的EIGRP和EIGRP v6
    11. EIGRP路由SIA
    Redis 快速入门 -- Redis 快速入门(2)
    Redis 快速入门 -- Redis教程(1)
    Redis 百度百科
  • 原文地址:https://www.cnblogs.com/liufei1983/p/15827145.html
Copyright © 2020-2023  润新知