分类: 编程技术预览模式: 普通 | 列表

乐问 从0到2

人生中难以忘记的一段经历,感谢整个团队的付出。把一些关键的东西做了屏蔽,记录一下一个互联网产品从无到有的研发过程。





























查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1672

mybaits中foreach与REGEXP结合的用法

在mybaits中,foreach一般与in语法结合使用居多,与正则regexp结合用的没有见到比较多。刚好有这样的一个接口需求,费了点时间研究,达到想要的效果。

需求:需要查询在某字段中,匹配提交过来的字符的数据
需求描述:
在传值到mappper里时 传进来的值useItem的值是一个以逗号,隔开的字符串值[11,12,13],需要在表中字段fit_product找到同时包含11,12,13三个值的数据 而fit_product在数据库的值也是以逗号,切割存储的。



库中数据



eg:

类似的SQL执行语句

select id,fit_product from card_detail  Where fit_product REGEXP '11' AND fit_product REGEXP '12' AND fit_product REGEXP '13' and mem



关键就在这里了,需要很好的处理ope/ separator/close 的值


<if test="useItem != null">
            <if test="useItem.indexOf(',') != -1">
                AND
                <foreach item="item" index="index"
                         collection="useItem.split(',')" open=" " separator="and " close=" ">
                     cd.fit_product REGEXP  #{item}
                </foreach>
            </if>

查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3063

品质大数据项目




换岗前的一个项目,这也算是在大数据两年,比较完整的做完的一个项目吧。做得最纠结的地方还是在于数据的清洗与分层。数据的不规整,对结果会产生致命的影响。



















查看更多...

Tags: 品质大数据项目

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1935

nested exception is: java.net.BindException



问题:
java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.net.BindException: Address already in use: JVM_Bind




解决办法:
进入命令提示行
找出占用端口的进程的PID,进入windows命令,查看什么进程占用了1099端口

使用命令:netstat -aon|findstr 1099 找出占用1099端口的进程




闭占用该端口的进程:taskkill -f -pid 3756

查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1998

MySQL 按日累加求销量 按月累加求销量




按日累加求销量




Select
    a.id,
    a.product,
    a.sale_date,
    a.num ,
    (
        Select
            sum(num)
        FROM
            t_sale_stats b
        Where
            b.id <= a.id
        AND b.product = '产品名称'
        AND b.sale_date >= '2015-03-01'
        AND b.sale_date <= '2015-03-05'
    ) cum_num
FROM
    t_sale_stats a
Where
    a.sale_date >= '2015-03-01'
AND a.sale_date <= '2015-03-05'
AND a.product = '产品名称'
ORDER BY

查看更多...

Tags: 按日累加求销量 按月累加求销量

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3104



MyBatis 的配置文件 Configuration 中有相关属性,设属性即可
<configuration>  
<settings>        ……      
<setting name="logImpl" value="STDOUT_LOGGING"/>  
</settings>
</configuration>








查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1972

大数据任务调度平台

最近一直在做组内原有的大数据任务平台的优化,同时也学习和了解了业界一些应用较广的开源任务调度平台。我还是总结一下吧。


整个平台的框架是这样的,没有考虑到Spark任务的执行,也没有做分布式部署的考虑,这次比较大的遗憾
















查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2692

Hive 杀进程 删除分区数据

杀进程

yarn application -kill  application_1499216480539_24828





删除分区数据

Alter TABLE 库名.表名 Drop PARTITION (分区字段='分区');


查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1931

Hive 自动生成建表语句



搜索了很多文章,感觉这个最实在实用,写个脚本批量执行就可以了。



#!/bin/bash
hive -e "use hive_dbname;show tables;" > tables.txt
cat tables.txt | while read eachline
do
hive -e "use hive_dbname;show create table $eachline" >>tablesDDL.txt
done



执行如下




查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2574

大数据应用之应用场景



随着大数据的应用越来越广泛,应用的行业也越来越低,我们每天都可以看到大数据的一些新奇的应用,从而帮助人们从中获取到真正有用的价值。很多组织或者个人都会受到大数据的分析影响,但是大数据是如何帮助人们挖掘出有价值的信息呢

















查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2306


全量导入比较容易,关键在于增量导入


Sqoop导入数据顺序




其实可以把导入的代码固定成脚本,然后只要把库名跟表名换掉就可以了


Sqoop的增量导入要与sqoop的Job关联在一起

全量导入MS-SQL数据至HIVE

#Set the RDBMS connection params
rbms_driver='com.microsoft.sqlserver.jdbc.SQLServerDriver'
rdbms_connstr="jdbc:sqlserver://MSSQL数据库主机;username=用户名;password=密码;database=库名"
rdbms_username="MSSQL数据库用户名"

查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3985

Hive 的字符串UrlDecode 中文解码



真没想到,原来HIVE自己有Urldecode,原本以为要写一个UDF,结果不然。

业务场景: 某字段基本为中文字符,采集时做了urlEncode处理,入到库中没有解码。



要解决的问题:将encode的数据做urldecode处理

方案一:自构建一个UDF函数,需要继承UDF,实现其evaluate()方法

@Description(name = "decoder_url", value = "_FUNC_(url [,code][,count]) - decoder a URL from a String for count times using code as encoding scheme ", extended = ""  
    + "if count is not given ,the url will be decoderd for 2 time,"  
    + "if code is not given ,GBK is used")  
public class UDFDecoderUrl extends UDF {  
  private String url = null;  
  private int times = 2;  
  private String code = "GBK";  
  
  public UDFDecoderUrl() {  

查看更多...

分类:编程技术 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 23071

Hive的某字段去重导入




需求:
1从源数据导入的数据按日期递增分区存储
2.在实际业务使用时只取最早录入的记录即入库里
3.定时过滤并存储到另一张表内。

关键:
每天从源数据导入的业务数据是全量更新 但存储的时候是增量更新 务必会存在某字段数据重复 需要处理

查询源数据


要得到的数据



要使用到的Hive 函数 row_number()   not in

查询所有最早时间录入的源数据

查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 7161

大数据架构之Storm流式处理框架

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2404

大数据应用之电商运营数据分析指标








查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2306

大数据架构之Spark内存计算框架

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2351

大数据架构之Haddop离线应用框架



大数据学习之离线应用框架组件简介

















查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2294

大数据应用之APP产品数据分析指标



花了点时间了解和搜寻了一下相关的知识,感觉在用户体验这块的指标体系较难量化。








这里还有一份友盟的,可供参考





查看更多...

分类:编程技术 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2488
重命名文件夹或文件提交SVN报错:

both sides of the move must be committed together

环境:java+idea+svn

解决办法:

把要提交的文件所在的整个文件夹的文件复制一份出来暂时放在一个地方

删除当前的文件夹,提交svn commit changes

在Project里新增一个跟原来文件夹名一样的文件夹 提交svn commit changes

再把原来的文件粘贴回来 提交svn  commint changes

OK 了

查看更多...

分类:编程技术 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 13587