`
greemranqq
  • 浏览: 965229 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
文章列表
用CSDN吧,方便点。后面都迁移过去了 https://blog.csdn.net/greemran/article/details/106794668
1. 今天源码调试的时候发现 :      env.getConfig().enableObjectReuse()   2.参考: https://segmentfault.com/a/1190000019352598    解释: enableObjectReuse  是可以让对象进行浅拷贝(地址拷贝),从而提速   关于深浅拷贝这里不做太多解释。   3.我们的场景:   3.1  source(表)->filter(过滤)>funcion(维表join)->sink(输出)   这种仅做过滤,或者数据添加的操作,不对原数据进行加工的,完全可以使用( ...
1.背景:           常见数据应用里面会有数据下载功能,当数据量比较大的时候,用JDBC 不对参数处理,容易OOM   2.原因:           基本的Connetion 做查询,ResultSet 会将数据全部拉到内存再进行遍历,所以容易OOM   3.当我们查询的时候利用     PreparedStatement ps = connection.prepareStatement(sqlText,ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); // 拉到多少就行处理 ps.setF ...
static int[] m = {3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3}; public static void main(String[] args) { // 利用 ^ 交换律 print(m); } private static void print(int[] m) { int m1 = m[0]; for (int i = 1; i < m.length; i++) { ...
/** * 默认最大长度50位,可以调节,或者动态判断都行 */ static String[] all = new String[50]; public static void main(String[] args) { System.out.println(multiply(Long.MAX_VALUE, Long.MAX_VALUE)); System.out.println(multiply1(Long.MAX_VALUE, Long.MAX_VALUE)); } pr ...
1.背景:    hive  做 insert overwrite select * from table 操作    出现异常:    [Fatal Error] total number of created files now is 100028, which exceeds 100000. Killing the job.   2.实际默认限制:    hive> set hive.exec.max.created.files;    hive.exec.max.created.files=100000   3.解决方案:    加上:DISTRIBUTE B ...
一.背景      一般hadoop集群的东西,需要去监控,或者杀东西之类的,所以需要调用下他们的API,下面是基本操作,获取正在跑的flink 程序,当然,也能获取CPU 内存等信息:     二.代码 public static void main(String[] args) throws IOException, YarnException { YarnConfiguration yarnConf = YarnConfLoader.getYarnConf("/Users/qqr/Downloads/yarn-conf"); ...

flink-reduce

一.背景      有时候我们需要过滤数据,有些中间数据是不需要的,比如场景:      binlog 数据更新的时候,我们仅仅需要最新数据。会根据ID 分组,然后取version 最大的一条,存储   二.简单实例    @Data @ToString public class Order { // 主键id private Integer id; // 版本 private Integer version; private Timestamp mdTime; public Order(int id, Integ ...
一.背景      当我们统计用户点击的时候,有时候会因为各种情况数据延迟,我们需要一个允许最大的延迟范围进行统计。这里的延迟统计分为两种:        模拟初始数据:早上10:10:00  用户点击了一次,但是延迟到10:10:05 才发送过来,允许最大延迟5秒, 5秒窗口统计。我们希望还是能统计到         二.基本代码 @Data public class UserTimeInfo implements Serializable { private String userId; /** 实际时间-偏移量 偏移后的时间*/ priva ...
一.背景      这个和demo1类似,只是提供另外一种实现方式,类似kafka 利用streamTableSource 来做。   二.代码        @Data @ToString public class UserInfo implements Serializable { private Timestamp pTime; private String userId; private String itemId; public UserInfo() { } public UserInfo(String ...
一.背景      flink 这个东西,后面会尝试走纯SQL 统计路线,这个阿里和华为都搞了一套,这里就简单记录下测试效果。 用SQL统计用户点击数,每隔5秒统计一次。暂时去掉了复杂逻辑。   二.直接看代码   // lombok 插件,这里主要写一个简单的数据产生的对象 // 表是时间,用户,以及商品3个字段 @Data @ToString public class UserInfo implements Serializable { private Timestamp pTime; private String userId; pri ...
一、背景         mysql数据由于自增的bigint 主键,会插入更快,因为能持续往文件末尾插入嘛,因此需要这个东西。         然后呢,服务端有专门生产id的接口,但是数据中心批量插入,肯定会拉暴他们,不让我们一起玩,只能自己玩。   二、方案         1.redis 获取数据段,程序内部自增。         问题:要用外部redis麻烦,而且要持久化           2.python 服务注册的,这个自己网上搜索。         问题:要机器,要服务端和客户端,而且python 我们版本不够高。。。尴尬,不想随便升级整个集群     ...
1.介绍bzip2:一个完全免费,免费专利和高质量的数据压缩LZ4 :非常快速的压缩算法LZHAM :无损压缩数据库,压缩比率跟LZMA接近,但是解压缩速度却要快得多。LZMA :7z格式默认和通用的压缩方法。LZMAT :及其快速的实时无损数据压缩库Snappy :快速压缩和解压缩ZLib :非常紧凑的数据流压缩库ZZIPlib:提供ZIP归档的读权限这里主要看看snappy 和LZ4 的对比 原文地址:https://www.percona.com/blog/2016/04/13/evaluating-database-compression-methods-update/2.压缩和解压 ...
一.序言      简单copy下来的,记录一下,翻译有问题 请指出。   Shuffle operations <!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> Certain operations within Spark trigger an event known as the shuffle. The shuffle is Spark’s mechanism for re-distributing data so that it’s ...
一.序言      这里介绍一下我们对spark-sql 的一些简单应用。    二.业务描述      我们需要对大量数据进行分析,包含历史的数据,传统数据库即使用分库分表的中间件,也只能满足基本查询,对于多表关连的分析是不太友好的,因此我们将数据放到hadoop集群,但是并不是所有的JAVA 程序员都能对hadoop 或者hive 进行开发,为了屏蔽这种差异,因此我们在几个分析软件上做了对比,这里就不介绍了,最后选择了spark。   三.开发流程      1.服务器上我们启动了hive 的metastore 信息,让spark 使用。         2.开发了简单 ...
Global site tag (gtag.js) - Google Analytics