- 浏览: 976924 次
- 性别:
- 来自: 重庆
最新评论
-
Carvendy许:
16/11/18 16:21:17 ERROR SparkDe ...
spark 笔记1 -- spark程序连接 -
谁说长得帅就不爷们:
什么情况下会有 p!=t ?
源码分析-ConcurrentLinkedQueue -
di1984HIT:
spring +ehcache 持久化数据,重启恢复 -
lc464297691:
给个我实现的代码,需要自己写一个类继承之~
public ab ...
JAVA数据库连接池实现 -
lc464297691:
100%发生死锁! if (isValid(conn)) ...
JAVA数据库连接池实现
文章列表
用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");
...
一.背景
有时候我们需要过滤数据,有些中间数据是不需要的,比如场景:
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.开发了简单 ...