首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏章鱼carl的专栏

    【Flink】第三篇:Join之版本(2)

    数据更加新的时间版本(并且满足不晚于主表时间版本1970-01-01 00:00:01.500)的数据了,例如,后续可能又来了一条1970-01-01 00:00:01.400,那之前如果join (2) 1970-01-01 00:00:00.000左,那么右1970-01-01 00:00:00.000一来就马上可以“确认”触发join,因为这条数据已经是满足join时间版本的极限条件了 ,可以”确认“不会有比这条数据更加新的时间版本并且不晚于主表时间版本的数据了。 (2) 主表乱序数据缓存:由于是LEFT JOIN,所以,主表不存在过期的数据,但是当乱序晚到的主表数据应该被join的时间版本过期删除后,会join到NULL,扩展字段用NULL填充。 --在定义水位线的地方加入延迟: WATERMARK FOR op_ts AS op_ts - INTERVAL '2' SECOND 四、关联等式条件必须有的主键: 否则报错:Temporal

    1.4K30编辑于 2022-03-31
  • 来自专栏VBA 学习

    VBA二转一

    1、需求: 将1个二表格转换为方便数据统计的一表格: ? 2、举例: 工作中经常会碰到这种情况,外部收集来的资料,表格制作者为了排版好看,做成转换前的格式,这种格式看起来方便,但是做数据处理是非常不方便的,需要进行转换后进行数据处理。 3、代码实现 这个功能的逻辑还是挺简单的,2个循环就可以覆盖数据所有的范围,然后输出到1个二数组,主要是要注意计算数组的下标: Sub TarnsTable() On Error GoTo 2列的数据!" = "列标题" Result(pRow, 3) = "数据" For i = 2 To iRows + 1 For j = 2 To iCols + 1

    2.1K30发布于 2020-07-28
  • 来自专栏VBA 学习

    VBA一转二

    前面说过了二转一,现在来看看一转二。 1、需求: 将1个一表格转换为二表格: ? 2、实现方法: 数据透视 要实现这个方法,其实熟练数据透视的处理起来是非常的简单的: ? VBA代码实现 使用VBA代码来实现自然也是没有问题的,使用字典来分别记录行和列的序号,然后输出到1个二数组就可以: Sub TarnsTable2() Dim drow As Object arr = Range("A1").Resize(i_row, 3).Value '记录项目的行号、姓名的列号 Dim strkey As String For i = 2 Not drow.Exists(strkey) Then drow(strkey) = drow.Count + 1 strkey = VBA.CStr(arr(i, 2) = drow(VBA.CStr(arr(i, 1))) + 1 pcol = dcol(VBA.CStr(arr(i, 2))) + 1 result

    2.2K30发布于 2020-07-28
  • 来自专栏公众号PowerBI大师

    、二那些事

    今天想谈谈一和二 这两样如果搞不清,数据清洗时仍然会陷入事倍功半的泥潭 什么是二? 看下图,确定一个数值,必须通过行列两个条件去定位,这是二最显著的特征 ? 那什么是一呢? ,就是二;仅靠单行就能锁定全部信息的,就是一 当然,一、二可以相互转换 一转二用透视,反之用逆透视 我们把一称为源数据,特点是数据丰富详实,适合做流水账,方便存储,有利于做统计分析 一表显然不适合人类阅读,想了解汇总信息,只能通过透视功能转换为二。一信息越详实,二可展示的方式就越灵活 ? ? ? 这里就举个小示例,演示一下行列都有合并单元格的情况下,如何二转一 链接:https://pan.baidu.com/s/1p7OfC3-BkqpYw74pbzj0YA 提取码:g3j2 ? 2、第一次“向下填充” 选择前三列,“向下填充” ? ? 3、第一次转置 通过“转置”功能,把月份人次场次,行转列 ? ?

    5.5K22发布于 2020-05-27
  • 来自专栏用户8950297的专栏

    和二,透视及逆透视

    大海:嗯,一和二的概念了解吗? 小勤:好像是算知道的,一个一对一,一个一对多? 首先,关于一和二、透视和逆透视,我先做个简单的例子给你们看一下。 大海:其实,所谓透视,就是从一到二(甚至更多维度)形成交叉汇总的过程;相反,从二向一的过程就是逆透视。 比如可以练一下没有PQ的时候,用数据透视做逆透视的方法,具体参考案例《二转一用多重数据透视?弱爆了!》,体会一下两者之间的差别和优缺点。

    1.3K20发布于 2021-08-30
  • 来自专栏Flink实战剖析

    flink关联系列之kafka关联:广播方式

    关联系列目录: 一、服务与Flink异步IO 二、Mysql关联:全量加载 三、Hbase关联:LRU策略 四、Redis关联:实时查询 五、kafka关联:广播方式 六、自定义异步查询 广播状态用于关联 如果需求上存在要求低延时感知数据的更新,而又担心实时查询对外部存储数据的影响,那么就可以使用广播方式将数据广播出去,既能满足实时性、又能满足不对外部存储产生影响,仍然以用户行为规则匹配为例 broadcastRuleStream=ruleStream.broadcast() val userActionConsumer = new FlinkKafkaConsumer011[String]("topic2" =env.addSource(userActionConsumer).map(x=>{ val a=x.split(",") UserAction(a(0),a(1),a(2) ,由于将数据存储在广播状态中,但是广播状态是非key的,而rocksdb类型statebackend只能存储keyed状态类型,所以广播数据只能存储在内存中,因此在使用中需要注意的大小以免撑爆内存

    1.4K31编辑于 2022-04-18
  • 来自专栏VBA 学习

    常用功能加载宏——二转一

    label="表格转换 " size="large" imageMso="TableSummarizeWithPivot"> <button id="rbbtnTarnsTable<em>2</em>To1 " label="二<em>维</em><em>表</em>转一<em>维</em><em>表</em>" onAction="rbbtnTarnsTable<em>2</em>To1" supertip="将选择的多行多列表格转换为多行3列表格。" /> </menu> 回调函数: Sub rbbtnTarnsTable2To1(control As IRibbonControl) Call MShtWk.TarnsTable2To1 2列的数据!" = "列标题" Result(pRow, 3) = "数据" For i = 2 To iRows + 1 For j = 2 To iCols + 1

    94941发布于 2020-07-28
  • 来自专栏Flink实战剖析

    flink关联系列之Hbase关联:LRU策略

    关联系列目录: 一、服务与Flink异步IO 二、Mysql关联:全量加载 三、Hbase关联:LRU策略 四、Redis关联:实时查询 五、kafka关联:广播方式 六、自定义异步查询 在Flink中做关联时,如果的数据比较大,无法一次性全部加载到内存中,而在业务上也允许一定数据的延时,那么就可以使用LRU策略加载数据。 但是如果一条数据一直都被缓存命中,这条数据永远都不会被淘汰,这时的数据已经发生改变,那么将会在很长时间或者永远都无法更新这条改变,所以需要设置缓存超时时间TTL,当缓存时间超过ttl,会强制性使其失效重新从外部加载进来 接下来介绍两种比较常见的LRU使用: LinkedHashMap LinkedHashMap是双向链表+hash的结构,普通的hash访问是没有顺序的,通过加上元素之间的指向关系保证元素之间的顺序, 可配置淘汰策略 非常适用于Flink关联LRU策略,使用方式: cache = CacheBuilder.newBuilder() .maximumSize(1000

    1.6K21编辑于 2022-04-18
  • 来自专栏Flink实战剖析

    flink关联系列之Redis关联:实时查询

    在做关联如果要求低延时,即数据的变更能够被立刻感知到,所以就要求在查询时没有缓存策略,直接查询数据库信息。 Redis中数据准备: hmset 1 aid 1 cid 1 hmset 2 aid 1 cid 2 使用hash结构,key表示广告位ID、aid表示广告主ID、cid表示广告计划ID 定义RichAsyncFunction return } t.foreach(x => { if ("aid".equals(x._1)) { val aid = x._2. .map(x => { val a: Array[String] = x.split(",") AdData(0, a(0).toInt, a(1), a(2) clientId1,1,1571646006000 输出: AdData(1,1,clientId1,1,1571646006000) AdData(0,3,clientId1,1,1571646006000) 验证完毕,也算是补上系列里面的空缺

    2.3K31编辑于 2022-04-18
  • 来自专栏VBA 学习

    常用功能加载宏——一转二

    实现了二表格转换为一表格,反过来的功能偶尔也是会用到的: 首先在customUI.xml中增加代码: <button id="rbbtnTarnsTable1To<em>2</em>" label="一<em>维</em><em>表</em>转二<em>维</em><em>表</em> " onAction="rbbtnTarnsTable1To<em>2</em>" supertip="将选择的多行3列表格转换为多行多列表格。" /> 回调函数: Sub rbbtnTarnsTable1To2(control As IRibbonControl) Call MShtWk.TarnsTable1To2 End Sub 函数实现 : Sub TarnsTable1To2() Dim drow As Object Dim dcol As Object Set drow = VBA.CreateObject Exit Sub End If If rng.rows.Count < 2 Then MsgBox "数据至少要有2行。"

    1.1K20发布于 2020-07-28
  • 来自专栏数据STUDIO

    MySQL高频面试题:一转二

    本文所用的信息 学生stu 字段名 数据类型 约束条件 s_id varchar(10) primary key s_name varchar(10) not null s_birth date varchar(10) c_id varchar(10) score int 面试题 查询所有学生的课程及分数情况 分析,课程与分数情况,用到学生及成绩,两张都是一,将其转化为右图所示的二 *,c_id,score FROM stu LEFT JOIN sc ON stu.s_id=sc.s_id; 第二步,将上面得到的结果转换为二 ? 成绩。" 87 0 81.5000 03 80 80 80 80.0000 02 70 60 80 70.0000 04 50 30 20 33.3333 06 31 0 34 32.5000 08 2

    1.4K30发布于 2021-06-24
  • 来自专栏Flink实战剖析

    flink关联系列之服务与Flink异步IO

    关联系列目录: 一、服务与Flink异步IO 二、Mysql关联:全量加载 三、Hbase关联:LRU策略 四、Redis关联:实时查询 五、kafka关联:广播方式 六、自定义异步查询 一、服务 维度或者是概念熟知应该从数据仓库维度建模开始了解的,区别于事实业务真实发生的数据,通常用来表示业务属性,比喻订单业务中,商品属性、商家属性都可以称之为维度。 在flink 流处理实时分析中或者实时数仓中,同样需要使用来完成一些数据过滤或者字段补齐操作,但是我们所需要的维度数据通常存储在Mysql/Redis/Hbase/Es这样的外部数据库中,并且可能是会随时变动的 ,根据业务要求数据的时效性,需要不同程度的感知数据的变化,在实际使用中常常会有以下几种方案可供选择: 在维度数据量比较小并且业务要求的时效性不高,可以定时全量加载维度数据到内存中,直接从内存中查询维度数据

    1K30编辑于 2022-04-18
  • 来自专栏Flink实战剖析

    flink关联系列之Mysql关联:全量加载

    关联系列目录: 一、服务与Flink异步IO 二、Mysql关联:全量加载 三、Hbase关联:LRU策略 四、Redis关联:实时查询 五、kafka关联:广播方式 六、自定义异步查询 在关联中定时全量加载是针对数据量较少并且业务对数据变化的敏感程度较低的情况下可采取的一种策略,对于这种方案使用有几点需要注意: 全量加载有可能会比较耗时,所以必须是一个异步加载过程 内存数据需要被流数据关联读取 tid为1的aid 变为2,待一分钟后继续输入数据:1,clientId1,1,1571646006000 控制台打印 >AdData(2,1,clientId1,1,1571646006000) 说明数据的更新已经被加载了 ,给用户发出警告 全量加载是在每个task里面执行,那么就会导致每个task里面都有一份全量的数据,可采取优化方式是在关联前根据关联字段做keyBy操作,那么就会根据关联字段hash然后对并行度取余得到相同的值就会被分配到同一个 task里面,所以在加载数据的时候也可以在每个task加载与其对应的数据, 就可以减少加载的数据量。

    3K20编辑于 2022-04-18
  • 来自专栏全栈程序员必看

    拉链表案例_善优案例

    一.数据准备 下表为分区增量数据(userinfo) 创建加载数据 用户信息 create table test.userinfo( userid string comment into table test.tmp1; 从中间向分区加载数据 set hive.exec.dynamic.partition.mode=nonstrict; insert into table 12-31 008 13699844444 2020-06-23 2020-06-23 9999-12-31 Time taken: 0.517 seconds, Fetched: 8 row(s) 2. =end_date 修改end_date为”9999-12-31″ select userid,mobile,regdate,start_date,'9999-12-31' as end_date,'2' end_date < '2020-06-22' union all select userid,mobile,regdate,start_date,'9999-12-31' as end_date,'2'

    43520编辑于 2022-11-03
  • 来自专栏数据小魔方

    excel数据转置——一与二之间的转化!

    今天跟大家分享excel数据转置——一与二之间的转化! 选择性粘贴仅仅是把行列互换了 显然并没有改变数据显示的维度 也就是说选择性粘贴转来换去 表格一仍然是一仍然是二 但是使用上述插件工具转化后 大家可以明确的发现 数据已经确确实实从二转化为一了 一的典型特征: 列代表属性 行代表记录 因而同一列中会有重复记录 我们在数据采集环节 接触到的原始数据更多的是一 即列代表属性、行代表记录 ●●●●● 下面对比一下Eviews、SPSS、Stata 等主流的数据分析软件界面 以及一些主流的数据库产品 默认的都是列代表属性 行代表记录 SPSS22界面 stata12界面 Eviews9.0界面 因此在数据整理的时候 不要随便将一转化为二 或者务必要保存原始一数据 在新的工作中再生成二 以防一丢失之后 想要再转化回来就需要费些功夫了 其实一与二之间的转化 数据透视也可以轻松做到 但是需要对数据透视有些基本了解 以后会出数据透视的教程

    5.7K50发布于 2018-04-10
  • 来自专栏PowerBI入门100例

    1.9 PowerBI数据准备-逆透视,将二或多维转换为一

    的每个字段都是事物的属性,而不是属性的值,多个字段不能合并为一个字段,比如年月、客户;二的字段包含了展开的属性的值,至少有部分字段可以合并为一个字段,比如2024年1月、2024年2月这样的字段是年月属性的值 一每一行都是描述一个事物的一次性产生的完整属性信息,便于存储数据和后期计算、汇总;二直观易读,便于展示数据,不利于后期计算、汇总。 一通过透视可以生成二;二通过逆透视可以还原成一。PowerBI中获取数据后生成的,一般使用一,方便建立之间的关系、书写度量值、生成透视或图表。 因此,很多时候需要在PowerQuery中将二的甚至更多维的数据源转换为一。举例1二转一,年月横向展开的。 STEP 2未选中的列变成了两列,一列属性,一列值,双击列标题改名后保存。图片举例2多维转一,多层表头+多列维度。

    1.8K10编辑于 2025-02-21
  • 来自专栏kafka专栏

    2.【kafka运】ConfigCommand运脚本(2)

    文章目录 ConfigCommand 1 查询配置 Topic配置查询 其他配置/clients/users/brokers/broker-loggers 的查询 查询kafka版本信息 2 增删改 默认配置 附件 More 日常运 、问题排查 怎么能够少了滴滴开源的 滴滴开源LogiKM一站式Kafka监控与管控平台 ConfigCommand Config相关操作; 动态配置可以覆盖默认的静态配置 sh bin/kafka-configs.sh --describe --bootstrap-server xxxx:9092 --version 所有可配置的动态配置 请看最后面的 附件 部分 2 增删改 配置 --alter –alter 删除配置: --delete-config k1=v1,k2=v2 添加/修改配置: --add-config k1,k2 选择类型: --entity-type value 示例 consumer_byte_rate producer_byte_rate request_percentage More Kafka专栏持续更新中…(源码、原理、实战、运

    1.7K30发布于 2021-08-03
  • 来自专栏VBA 学习

    VBA与数据库——简化程序编写-一转二

    在一转二表里介绍了使用字典来转换表格的方法,可以看到使用字典的方法代码量还是有一点多的,有点复杂。 rst.Fields.Count - 1 Range("E1").Offset(0, i).Value = rst.Fields(i).name Next '输出数据 Range("E2"

    1.1K30发布于 2021-07-20
  • 来自专栏用户8950297的专栏

    转一用多重数据透视?弱爆了!

    小勤:部门里有个烦屎了,交上来的都是二,我每次都要转成一才好跟其他数据合并分析。 大海:呵呵。二是出了名的貌似很好看,但不方便分析的。你现在是怎么干的? 你看: 第一步:Alt+D+P调出数据透视向导窗口,选择【多重合并计算区域】 第二步:选择【创建单页字段】 第三步:选择和添加要转换的二区域 第四步:在生成的透视表里双击总计数,就搞定了。 但如果去掉那些选择文件、选择数据之类的步骤,其实只有2步。 小勤:啊?! 大海:你可以回头看你对数据到底都做了什么操作,也就是说你的数据从导入到最后出结果是怎么一步步实现的。 你可以打开你刚才建的查询来看: 小勤:你说只有2步?明明有6步嘛。 大海:前面那4步都是自动生成的。当然你可以修改,这个以后再跟你说。 小勤:好的。 那以后他们给我的二要转换成一的话,是不是就可以直接放进去,刷新就好? 大海:对的。以后直接放数据进去。刷新。搞定!你可以直接在原来的上加一条数据试试就知道了。 小勤:太赞了!

    98420发布于 2021-08-30
  • 来自专栏章鱼carl的专栏

    【Flink】第二篇:Join之版本

    , state STRING, amount DECIMAL(16,2), op_ts TIMESTAMP(3), PRIMARY KEY(appl_seq) NOT ENFORCED STRING, amount DECIMAL(16,2), op_ts TIMESTAMP(3), WATERMARK FOR op_ts AS op_ts - INTERVAL appl_seq, cast(t2.op_ts as string) FROM left_kafka AS t1 LEFT JOIN right_upsert FOR SYSTEM_TIME AS OF t1.op_ts AS t2 ON t1.appl_seq = t2.appl_seq 至此,我们便可以写测试数据发送到kafka进行Demo测试及验证。 测试结论: 对于相同主键的左右流数据,假设左右流时间属性为T左,T右, 不设置水位线延迟的情况下, 左流选择join的是右流中T右1<=T左<=T右2,如果T右2还没来到,会缓存,以等待; 已经被触发写出的右流数据会被删除缓存

    1.8K30编辑于 2022-03-31
领券