- 浏览: 47625 次
- 性别:
- 来自: 成都
最新评论
文章列表
习惯用MapReduce来做mongodb的聚合,这一次遇到一点小问题。
原数据如下:
使用一个简单的MapReduce来验证一下数据
map=function (){
emit({clientKey:this.clientKey},{dtime:this.dtime,itime:this.itime,rtime:this.rtime,stime:this.stime})
}
reduce=function (key,values){
return {v:values};
}
db.u2d2i2r2s_log.mapReduce(map,reduce,{out ...
拿到一个sql,同事告诉我这个sql索引加了,为什么还是这么慢。
sale_order_goods,sale_order 两张表都有几十万的数据。其中in结果集有30万。
sql如下:
SELECT
ifnull(sum(buy_number), 0) AS buy_number_sum
FROM
sale_order_goods
WHERE
sale_order_id IN (
SELECT
so.id
FROM
sale_order_goods sog,
sale_order so
WHERE
1 = 1
AN ...
优化一个sql,这个sql并不复杂,但执行了错误的执行计划,原始sql如下
EXPLAIN
SELECT
t1.TRANSACTION_ID,
t1.CLIENT_KEY,
t1.RING_NAME,
t1.CMS_RING_NAME,
t1.NICK_NAME,
T1.RING_TYPE,
t1.TTS_CONTENT,
T1.AUDIO_TYPE,
T1.TTS_GENDER,
T1.MSISDN,
t1.TTS_BG_MUSIC_ID,
T1.FILE_PATH,
T1.CMS_FILE_PATH,
T1.LISTEN_FIL ...
使用原生态方式发送、接受消息
pom.xml
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.1.1</version>
</dependency>
发消息
@Test
public void TestProducer(){
Properties props = new Properties();
prop ...
CREATE PROCEDURE createDate()
begin
declare indexdate DATE;
set indexdate = DATE('2017-01-01');
while indexdate <= DATE('2027-12-31')
do
insert into ab_date(date) values(indexdate);
set indexdate = ADDDATE(indexdate,1) ;
end while;
end;
CALL createDate()
要实现这样一个功能
select count(1),小时 from user where createDate=今天 group by 每小时
原本以为很简单的一个聚合很容易找到相关资料,没想到花了好几个小时
首先建一个测试的index和type,分别为ksearch_test和user,
建立mapping
http://ip:port/ksearch_test/user/_mapping PUT
{
"user":{
"properties":{
"name":{
& ...
部署到Tomcat的应用都要改成ROOT
今天部署的时候发现新的ROOT.war解压出来的东西始终还是之前的版本,确定打包没有问题后,终于用ls -al发现了蹊跷。webapp下面有个.war的文件夹。
解决
1.在tomcat的catalina.sh中添加CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8222,server=y,suspend=n"
2.启动tomcat,命令为 bin/startup.sh。实测这样就可以,而不是像网上说的用其他命令来启动。
3.在myeclipse对应的工程下点右键->debug as->debug configurations->remote java application->对应的工程名
填写好ip和端口,然后点击debug按钮就 ...
mysql自身没有提供flashback功能,所以我们在误操作之后要恢复数据就麻烦很多,如果不用别人的插件,下面这种方法可以恢复
1.binlog必须开启,并且必须是ROW模式。如果这个前提不满足,那么下面这种方法恢复不了数据。
查看bin ...
导出:mongoexport --port=27000 -d lyric -c lyric --csv -f songName,artistName,content -o lyric_e_1.csv
导入:先mysql -uroot -p进入mysql控制台
再mysql> load data infile "E:/lyric_e_2.csv" into table song_lyric character set
utf8 fields terminated by "," enclosed by "\"" ig ...
1.解压出两个tomcat,修改第二个tomcat的8005、8080、8009端口
2.在MyEclipse中create launch
3.修改这3个地方
今天做一个统计需求,按天统计这张表的记录数,按照pay_month和格式化之后的payment_time来分组,这张表大致数据如下
按照pay_month和格式化之后的payment_time分组之后,数据如下
我需要统计的是10天前到今天的数据,但就pay_month=1的数据来讲,只有2,3,4,7号有数据。而我想要没有数据的那一天同样统计出来并用0来填充。
第一反应是用left join,但由于mysql没有oracle的connect by level,只能用一张数据条数绝对大于10的表来代替select level from dual co ...
开发一个小功能,90%的时间都耗在前台bootstrap弹窗上了,功能需要在弹窗里面再弹窗,浏览器console报错:Uncaught RangeError: Maximum call stack size exceeded,导致页面上一些奇怪的错误。
最后终于发现这也许是bootstrap多层弹窗导致的。搜了一下果然如此,我用了最简单的方式来解决,注释了bootstrap.min.js的这一句代码即可。
enforceFocus:function(){
var t=this;
e(document).on("focusin.modal",function(e) ...
今天遇到一个奇怪的bug,在一个table中有一列按钮,是根据js代码返回的
formatter: function (cellvalue, options, rowdata) {
return '<button class="btn green orderDetail" onClick="showDetail('+options.rowId+')">详情</button> <button class="btn green redoOrder">重试< ...