- 浏览: 47121 次
- 性别:
- 来自: 北京
最新评论
文章列表
commons-pool对象池实例(一)
- 博客分类:
- java
使用commons-pool 框架实现了一个对象池例子。将官网的例子稍微改动了一下而已。
使用的版本是:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.4.2</version>
</dependency>
对象池实现类:
package com.my.pool.pooledobject;
impo ...
参考的文章:
http://blog.csdn.net/lulei1217/article/details/49385531
http://blog.csdn.net/LULEI1217/article/details/49386295
我将该作者上面两篇文章中的代码修改后,变成下面的样子。数据集在附件中。
#coding:utf-8
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn import datasets, linear_mo ...
MySQLdb的一个例子
- 博客分类:
- python
保存一个例子。使用MySQLdb库去连接MySQL数据库。
import MySQLdb
#创建连接
conn=MySQLdb.connect(host=db_url,port=db_port,user=db_user,passwd=db_pwd,db=db_name)
cur=conn.cursor()
try:
#加入临时变量"
cur.execute('SET @begin_date=\''+begin_time.strftime("%Y-%m-%d")+'\';')
conn.commi ...
最近拿ElasticSearch当数据库使用,应用场景中用到了多维度聚合的需求。
聚合需求是:项目id,渠道id,产品id这样的三维度聚合。变成SQL语句的话,大概是
SELECT
project_id,channel_id,item_id,SUM(sell_num),SUM(order_num),SUM(sale_income)
Group By project_id,channel_id,item_id
如果按照project_id,channel_id,item_id这样的顺序构建Aggregation的话,最终的查询速度会非常的慢。后 ...
hive数据往elasticsearch导入的时候,需要用到一个插件。详情可以查看官网。
具体的用法是这样:
在elasticsearch添加表。
在hive创建外部表
往hive插入数据
关键的步骤是在hive创建表的时候的定义:
CREATE EXTERNAL TABLE `report`(
`id` string,
`rep_date` string COMMENT 'from deserializer',
`hour_id` int COMMENT 'from deserializer',
`channel_id` st ...
使用netty4.0实现Http请求的分发
- 博客分类:
- java
思路是使用executor来处理被分发的请求。
主类的代码:
package com.mytest.main;
import java.net.InetSocketAddress;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.mytest.executors.AbstractExecutor;
import com.mytest.executors.HelloExec ...
tez是什么? tez官网
普通执行hive 的速度:
用tez引擎后的速度:
使用方法:
set hive.execution.engine = tez;
默认值:
set hive.execution.engine = mr;
url encode列表
- 博客分类:
- web工程
来自 w3school
URL 编码 - 从 %00 到 %8f
ASCII Value
URL-encode
ASCII Value
URL-encode
ASCII Value
URL-encode
æ
%00
0
%30
`
%60
%01
1
%31
a
%61
%02
2
%32
b
%62
%03
3
%33
c
%63
%04
4
%34
d
%64
%05
5
%35
e
%65
%06
6
%36
f
%66
...
数据倾斜的意思就是某些key对应的信息条数过多,导致对应reducer的内存溢出。
解决这个问题,要区分一下问题引起的原因。无非是:
由于对数据构成认识不足,导致启动配置资源的不合理
刷量数据的不合理涌入
对于第一种情况,我们可以通过调整reduce的个数,以及reducer的jvm大小来解决。
对于第二种情况,我建议应该先分析数据的倾斜原因,考虑这部分数据生成的原因,是程序错误还是恶意的刷量数据。当然这个工作并不在解决数据倾斜的内容中。
解决的方案比较简单,以时间换空间。通过修改pat ...
经常有需要按日期运行脚本补数据。有时候是好几天的。但是可能整个过程下来会超过24个小时。
最早的时候是这样的一个方案。
for((i=0;i<10;i++));
do
date=`date -d "$i days ago" +"%Y%m%d"`
sh dojob.sh $date
done
这个方案的不足就是,跨天之后,会漏掉某个日期。后来诞生了一个用配置文件的方法。把要搞的日期写到一个文本里。每行写一个日期。
file=/data/datelist.txt
...
留给自己以后用的pom实现。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</mo ...
系统
Window8-64bit
安装python
下载地址: https://www.python.org/downloads/windows/
运行msi
系统变量设置path.假设安装地址是:C:\python27
cmd 下试试python -V 查看版本号,以验证是否成功安装python
安装pip
下载ez_setup.py. https://bootstrap.pypa.io/ez_setup.py
运行python ez_setup.py。这两步是解决setuptools的问题。
下载pip的tar.gz包。https:/ ...
写了一点测试用例。很久没有使用过jdbc了。写起来还是怪生疏的。还是习惯JDBCTemplate啊。大家做工程还是使用框架能快一点点。
package com.myTest.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.u ...
2009-05-07
网上给的方法就是在取出之时先做处理,大致思路:
1. 测试具体长度
2. 超过则进行截断+“....” 否则,保持原貌
3. 如果是中文,则应注意中文存储是双字节存储。所以通用法则就是取偶数长度(例如,10、20、30)。
代码很简单,这里没有例子。
2009-06-20
Guidelines for object development These stages suggest some guidelines when thinking about developing your classes: 1. Let a specific problem generate a class, then let the class grow and mature during the solution of other problems. 2. Remember, discovering the classes you need ...