saiku源碼整合(無maven情況下)

2015-10-21

最近整理了寫2.6版本的編譯構建過程,發佈到了博客,歡迎大家去踩踩

http://blog.csdn.net/gsying1474/article/details/49307521


工具:

  1. MyEclipse 10
  2. saiku2.5源碼
  3. saiku-server-foodmart-2.5.zip
操作步驟:
  1. 在MyEclipse中新建一個web項目,名爲saiku(必須名爲saiku,因爲saiku的UI會默認找saiku項目)
  2. 在saiku-server-foodmart-2.5.zip的tomcat中,找到saiku項目,並複製saiku目錄下的所有文件到saiku項目的WebRoot目錄中
  3. 到saiku-2.5.x\saiku-core\目錄下分別找到saiku-service和saiku-web目錄,並找到其中的java源代碼,copy到saiku中,作爲源碼(建議分開兩個resource文件夾存放,便於區分)
  4. 然後在saiku項目中創建source文件夾resource(命名自定),並在其目錄下創建文件夾saiku-datasources和saiku-repository(前者是存儲saiku的datasource的文件夾,後者則是存儲生成的saiku模板的文件夾)
  5. 然後將saiku項目放到tomcat中,啓動,看是否正常(如果沒配置錯誤的話,應該正常了)
  6. 配置一個自己的測試庫:
1)、在saiku-datasources目錄下創建file並命名爲testdatasource,文件內容爲如下
type=OLAP
name=testdatasource
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/testdatasource;Catalog=res:testdatasource/testdatasource.xml;
username=root
password=111111

2)、解釋下上面一條的的參數
type=OLAP就不多說了,先按固定的來
name=testdatasource       數據源名稱
driver=mondrian.olap4j.MondrianOlap4jDriver         可以理解爲固定的,Mondrian的多維查詢driver
location一行比較長,其中有一段jdbc:mysql://localhost:3306/testdatasource爲數據庫的url,
後面的res:testdatasource/testdatasource.xml是vfs的一種url寫法,表示是classes目錄下的testdatasource/testdatasource.xml文件
username和password就不多說了,如果看不懂,就去翻譯一下吧

3)、創建表和插入數據,執行語句如下
A、創建表t_user
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` ( 
  `user_id` int(11) NOT NULL, 
  `user_name` varchar(255) DEFAULT NULL, 
  `pwd` varchar(255) DEFAULT NULL, 
  PRIMARY KEY (`user_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ---------------------------- 
-- Records of t_user 
-- ---------------------------- 
INSERT INTO `t_user` VALUES ('1', 'user1', '1'); 
INSERT INTO `t_user` VALUES ('2', 'user2', '2'); 
INSERT INTO `t_user` VALUES ('3', 'user3', '3'); 
INSERT INTO `t_user` VALUES ('4', 'user4', '4');
B、創建表t_data
DROP TABLE IF EXISTS `t_data`; 
CREATE TABLE `t_data` ( 
  `user_id` int(11) DEFAULT NULL, 
  `count` int(11) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ---------------------------- 
-- Records of t_data 
-- ---------------------------- 
INSERT INTO `t_data` VALUES ('1', '23'); 
INSERT INTO `t_data` VALUES ('2', '22'); 
INSERT INTO `t_data` VALUES ('3', '21'); 
INSERT INTO `t_data` VALUES ('4', '25'); 
INSERT INTO `t_data` VALUES ('2', '21'); 
INSERT INTO `t_data` VALUES ('4', '22');
4)、在resource文件夾下建文件夾testdatasource,並在其下創建文件testdatasource.xml,文件內容如下
<?xml version="1.0" encoding="UTF-8" ?> 
<Schema name="test_schema"> 
 <cube name="test_cube"> 
  <Table name="t_data"></Table> 
  <Dimension name="user" foreignKey="user_id"> 
   <Hierarchy hasAll="true" allMemberName="user_id" primaryKey="user_id" > 
    <Table name="t_user" /> 
    <Level name="user_id" column="user_id" uniqueMembers="true" type="Integer" /> 
   </Hierarchy> 
  </Dimension> 
  <Measure column="count" aggregator="sum" datatype="Numeric" name="all_count" caption="all_count"></Measure> 
 </cube> 
</Schema>

這個配置在這裏就不做太多解釋了


經過以上幾個不步驟,就可以完美的運行saiku的server服務了

轉載請手下留情,註明出處,也不枉我辛苦一場,謝謝

發佈了114 篇原創文章 · 獲贊 53 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章