自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 saiku乱码问题解决

笔者在使用saiku3.8做二次开发过程曾多次遇到多乱码问题,现将问题及对应解决方法总结如下:问题一:操作系统问题,windows下乱码,linux下正常;笔者按照网友的方法在eclipse中构建saiku开发版的project,完成之后启动tomcat,发现界面中的指标和维度都是乱码如图,在使用各种方法调试之后,依然没能解决,最后打war,上传服务器发现乱码问题解除;如图

2016-11-16 19:50:57 1721 2

原创 saiku权限配置

saiku权限配置是通过mondrian的权限配置实现的,也就是在schema文件简单的配置就能实现,由于对mondrian的权限并没有深入研究,笔者就描述下用到的权限配置;笔者公司的saiku主要用于支持各个业务线的BI、日志等数据的分析,因此按业务线分配多个角色与模块:ROLE_PRODUCT、ROLE_TALK等,这时要求每个角色只能访问器对应业务模块的主题,管理员自然可以访问所有的模块

2016-10-28 20:16:44 2175 2

原创 saiku限制日期查询

saiku在公司内部推广开来之后,得到了产品、运营、策略等同事一致好评,由此带来了一大波需求,就连打点、日志数据的需求都来了,笔者觉得这种数据不适合用来做多维分析,但是迫于公司内部压力,又不得不做,只好硬头皮上了;日志类型的数据每天大概有几个亿条,对kylin的压力太大(目前kylin集群只有3台),由此只好限制用户查询数据时间的跨度;在大数据量的情况下,估计网友也会有这种情况的,由此笔者把自己的

2016-10-14 19:49:05 1932

原创 saiku中datasource与schema管理模块源码分析

在saiku中,数据源连接信息与schema文件是非常重要的,saiku可以同时连接多个各种数据源:普通关系型数据库、nosql、hive、kylin等大数据数据源;schema文件则将维度指标映射为MDX语句,最终经mondrian转换为sql在各种数据源上运行;在saiku 2.X版本中datasource与schema是存储在tomcat服务下的目录中的,是真真切切可见可编辑的文本文件,但这

2016-09-21 20:05:12 2774

原创 saiku用户登陆模块源码分析

选择saiku的登陆模块做源码分析是因为登陆这个功能比较常见,思路也比较清晰,刚开始比较容易上手,saiku也只是使用一些新的技术或框架,总体上还是遵循登陆功能的一般套路:用户输入用户名与密码,提交到后端做验证,通过,则做权限认证;反之,给前台提示信息;只不过saiku的前端使用了backbone.js,后端使用了spring security等,接下来我们将深入的探讨下saiku登陆模块的前后端

2016-09-14 18:11:46 2904 1

原创 Saiku中的Controller

2016-08-25 19:45:20 615

原创 Saiku中的Service

2016-08-25 19:44:51 603

原创 saiku由H2改入Mysql

saiku社区版的zip包中自带有H2的数据库,该库中主要维护着saiku账户信息(用户名、密码、邮箱、角色等等),而角色通过配置schema可以控制用户可访问到的cube的权限;由于H2数据库维护起来不如mysql方便,而且后期还要集成公司单点系统,所以就要mysql替换H2,当然网上也有很多的解决方法,笔者这一方案与之也有类似之处,在这里记录供网友参考,本方案是经过笔者反复测试验证的,本方案的

2016-08-16 19:46:39 2306

原创 saiku集成CAS

最近一直在研究saiku如何集成公司的单点登录系统,通过google、百度搜集查阅了大量的相关资料,并和网友讨论最终在公司内部集成完成,并测试上线;现将这一过程中的经验记录下来,分享给需要的朋友....saiku集成CAS这一过程其实我们可以简单的理解为:用户CAS验证后,我们获取到用户名,并拿该用户登陆saiku,若该用户有saiku访问权限就登陆saiku,反之则不能登陆,返回无权限提示;整个

2016-08-11 20:16:08 2550 3

原创 开篇

最近发生的事情比较多,端午回家过节是个转折点,过完节回来英国退欧,KD转会......几乎每件事对我情绪和内心影响都很深远,钱、情、义,名等等世间永远绕不开这几个话题,我也不想过多的讨论这些,纠结这些,多了让人烦恼无比,还是老办法,时间久了这些会慢慢消散;另一件重要的事情是我的工作重心又重新回到多维分析的课题,时隔一年后再次接触saiku,或许这就是缘分.....SAIKU觉得

2016-08-04 20:23:39 413

转载 Echarts后台option对象

最近在工作中使用到了Echarts来制作图表,在网上搜了好多例子几乎都是千篇一律的在前台写死一些js,然后把变量通过ajax或者遍历集合的方式插进去,这样子一旦某一页面的图表一多,就会异常混乱,偶然在开源中国看到有人做成了个Echarts对象的jar包,在后台进行完美封装传回一个option在前台接收了并set进option即可。试了试,效果非常好。下面给出例子代码:

2015-05-20 15:51:41 1237

转载 Kafka深度解析

背景介绍Kafka简介  Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输同时支持

2015-03-11 17:27:25 321

转载 如何用Maven创建web项目(具体步骤)

使用eclipse插件创建一个web project首先创建一个Maven的Project如下图  我们勾选上Create a simple project (不使用骨架)   这里的Packing 选择 war的形式  由于packing是war包,那么下面也就多出了webapp的目录

2015-01-04 11:44:48 418

转载 如何用Maven创建web项目(具体步骤)

使用eclipse插件创建一个web project首先创建一个Maven的Project如下图  我们勾选上Create a simple project (不使用骨架)   这里的Packing 选择 war的形式  由于packing是war包,那么下面也就多出了webapp的目录

2015-01-04 11:21:48 381

转载 Git之忽略文件(ignore file)

1、    环境Windows XP SP3 + TortoiseGit + msysGit 2、  ignore files的三种方法 以下涉及的ignore文件均为如下格式:# 以'#'开始的行,被视为注释.                                                                          

2014-11-22 21:29:17 406

原创 Maven配置maven-eclipse-plugin(mvn eclipse:eclipse报错问题)

今天遇到这种情况,刚从github上面down到本地的代码导入eclipse时的问题:该项目在github上根据项目结构看出是使用maven构建的,但无法导入到eclipse,所以使用maven将其整理,执行mvn eclipse:eclipse,执行后出现以下问题:根据错误原因得知,需要在该项目的pom.xml配置maven-eclipse-plugin这个插件,在网上查找资料后

2014-11-14 17:12:27 7716

原创 git基础教程四

1.远程仓库1) 关联远程仓库使用GitHub做为远程仓库,在GitHub上新建repo,git remote add origin [远程仓库链接] 将本地仓库关联到远程仓库远程仓库链接,如[email protected]:michaelliao/learngit.git  git push -u origin master 将本地仓库代码推送到远程仓库mas

2014-11-03 17:13:49 378

原创 git基础教程三

1.分支管理策略通常合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。git merge [--no-ff] -m [提交信息][分支名]  这种合并方式会产生一次新的提交,合并分支时,

2014-11-03 16:22:44 396

原创 git基础教程二

git初始时只有一个主分支master,不创建分支的情况下,每次提交后,master分支会向前移动指针,分支会越来越长(指针信息保存在HEAD文件中);在创建分支之后,指针会指向分支(HEAD文件内容修改),在分支上多次提交,分支会像master一样发展,但是不会对master分支有影响;完成分支之后,可以使用merge合并创建的分支与master,合并完成后删除分支,保留主分支;

2014-11-02 22:56:02 384

原创 git基础教程一

1.git基本概念staging area(或者叫index)  暂存区working area  工作区就是git init之后的目录里面包含有.git文件夹以及代码等local repository   本地仓库就是.git文件夹,里面包含有所有分支信息还有HEAD(指针),staging area也保存在里面;该文件夹保存了git管理代码所有的信息,不建议手动

2014-11-01 22:42:55 368

转载 Flume日志收集

一、Flume介绍Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。设计目标:(1) 可靠性当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数

2014-10-16 10:54:39 354

转载 Flume-ng+Kafka+storm的学习笔记

Flume-ngFlume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。      Flume的文档可以看http://flume.apache.org/FlumeUserGuide.html 官方的英文文档 介绍的比较全面。       不过这里写写自己的见解这个是flume的架构图 从上图可以看到几个名词:

2014-10-16 09:48:26 484

转载 组合式的MapReduce作业

Hadoop 组合式作业在实际的应用中,很多的复杂任务都是不止一趟的mapreduce任务,需要查分成多个简单的mapreduce子任务去完后。(1)迭代的计算任务。(2)顺序组合MapReduce作业(3)具有依赖关系的组合式mapreduce作业(4)mapreduce前处理和后处理步骤的链式执行迭代的计算任务:PageRank算法。顺序组合:多个mapre

2014-09-28 20:32:37 428

转载 【Twitter Storm系列】flume-ng+Kafka+Storm+HDFS 实时系统搭建

一直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm的实时日志流系统的搭建文档,自己也跟着整了一遍,之前罗宝的文章中有一些要注意点没提到的,以后一些写错的点,在这边我会做修正;内容应该说绝大部分引用罗宝的文章的,这里要谢谢罗宝兄弟,还有写这篇文章@晨色星空J2EE也给了我很大帮助,这里也谢谢@晨色星空J2EE之前在弄这个的时候,跟

2014-08-01 17:26:59 460

转载 初学HBase的几个问题

本文主要针对对HBase不了解的人。主要想基于个人的理解回答以下几个问题:什么是HBase?何时用HBase?与Hive、Pig的区别?HBase的结构为何HBase速度很快?HBase常用的操作有哪些?HBase的一些配置和监控什么是HBase?HBase,是Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。使用HBa

2014-08-01 15:29:49 912

转载 Hadoop - MapReduce MRAppMaster-剖析

一 概述        MRv1主要由编程模型(MapReduce API)、资源管理与作业控制块(由JobTracker和TaskTracker组成)和数据处理引擎(由MapTask和ReduceTask组成)三部分组成。而YARN出现之后,资源管理模块则交由YARN实现,这样为了让MapReduce框架运行在YARN上,仅需要一个ApplicationMaster组件完成作

2014-07-19 18:13:14 416

转载 mapreduce排序和二次排序以及全排序

自己学习排序和二次排序的知识整理如下。1.Hadoop的序列化格式介绍:Writable2.Hadoop的key排序逻辑3.全排序4.如何自定义自己的Writable类型5.如何实现二次排序1.Hadoop的序列化格式介绍:Writable要了解和编写MR实现排序必须要知道的第一个知识点就是Writable相关的接口和类,这些是HADOOP自己的序列

2014-07-19 17:43:59 451

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除