
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
16进制转10进制的3种方法, Integer.parseInt(xxx,16), Long.parseLong(xxx,16), 并解决Exception in thread "main" java.lang.NumberFormatException: For input string.如果16进制数过大, 转10进制会报错, 则需要使用BigInteger来解决.

但是Spark中没有实现类似功能的算子, 于是自己写了一个UDF去实现, 话不多说, 贴代码供大家参考.即: 合并两个Array[String]

双重group by将去重分成了两步,是分组聚合运算,group by操作能进行多个reduce任务并行处理,每个reduce都能收到一部分数据然后进行分组内去重,不再像distinct只有一个reduce进行全局去重.sql中最简单的方式,当数据量小的时候性能还好.当数据量大的时候性能较差.因为distinct全局只有一个reduce任务来做去重操作,极容易发生数据倾斜的情况,整体运行效率较慢.
canal中ts,es区别具体insert/update/delete的变更数据,可为多条,1个binlog event事件可对应多条变更,如批处理.操作类型(INSERT,UPDATE,DELETE,QUERY,TRUNCATE)时间戳(13位),canal收到这个binlog,构造自己协议对象的时间.是否是ddl变更操作,比如create table/drop table。mysql binl
【代码】Zookeeper查看并修改Canal位点position信息。ZK查看Canel位点信息
其中,parquet.compression设置为snappy表示使用Snappy压缩数据。如果不设置该属性,则默认是不压缩的。开启的话只需要开启压缩参数即可. insert overwrite directory xxx stored as parquet tablproperties("parquet.compression"="snappy"),insert overwrite direct
