多維資料分析引擎Saiku的安裝使用
一、Saiku的下載安裝和啟動
下載地址:
下載後解壓,即完成安裝。
修改環境變數為安裝目錄下的tomcat目錄:
CATALINA_HOME = D:\yizit\software\saiku-server\tomcat
執行start-saiku.bat啟動saiku,啟動後命令列視窗不能關閉。命令視窗中文亂碼情況,需要修改start-saiku.bat檔案,將UTF-8更改為GBK。
在瀏覽器位址列輸入,出現以下要求上傳License的頁面
License獲取網址:
先點選sign up進行使用者註冊,註冊後收到確認郵件,在郵件裡點選進入License獲取頁面
先建立公司,再建立License,將生成的License儲存到本地檔案。
在上傳License頁面將License檔案上傳,需要帳戶admin,admin。
前往localhost:8080,輸入admin,admin,即可進入Saiku系統。
二、使用示例
將需要的資料庫驅動jar包複製到D:\yizit\software\saiku-server\tomcat\webapps\saiku\WEB-INF\lib目錄下,這裡連線的是Oracle資料庫。
一個最為簡單的例子是直接使用Oracle資料庫裡自帶的SCOTT使用者,對員工表EMP和部門表DEPT構建模型,模式檔案如下:
<Schema name="scott">
<Cube name="Cube_scott" visible="true" cache="true" enabled="true">
<Table name="EMP" schema="SCOTT">
</Table>
<Dimension type="StandardDimension" visible="true" foreignKey="DEPTNO" highCardinality="false" name="Dim_dept" caption="部门维度">
<Hierarchy visible="true" hasAll="true" primaryKey="DEPTNO">
<Table name="DEPT" schema="SCOTT">
</Table>
<Level name="Level_deptno" visible="true" table="DEPT" column="DEPTNO" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="部门编号">
</Level>
<Level name="Level_deptname" visible="true" column="DNAME" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="部门名称">
</Level>
<Level name="Level_loc" visible="true" column="LOC" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="所在地区">
</Level>
</Hierarchy>
</Dimension>
<Measure name="SalAmount" column="SAL" aggregator="sum" caption="工资总额" visible="true">
</Measure>
<Measure name="EmpQuantity" column="EMPNO" aggregator="count" caption="员工数量" visible="true">
</Measure>
</Cube>
</Schema>
在Saiku中查詢展示結果
下面再搭建一個典型的測試用例:
1、資料庫表準備
建立表空間
create tablespace sales_tbs datafile 'd:\oradata\mes\sales_tbs01.dbf' size 100m;
建立使用者並授權
create user sales identified by sales default tablespace sales_tbs;
grant connect, resource to sales;
alter user sales quota unlimited on sales_tbs;
建立表,插入測試資料
/**產品類別表*/
create table protype(protype_id number, protype_name varchar(32));
alter table protype add constraint pk_protype primary key(protype_id);
insert into protype values(1, '硬體');
insert into protype values(2, '軟體');
insert into protype values(3, '服務');
commit;
/**產品表*/
create table product(pro_id number, protype_id number, pro_name varchar(32));
alter table product add constraint pk_product primary key(pro_id);
insert into product values(101, 1, '工控機');
insert into product values(102, 1, '條碼印表機');
insert into product values(103, 1, '顯示器');
insert into product values(201, 2, 'MES');
insert into product values(202, 2, 'LES');
insert into product values(203, 2, 'GoodMES');
insert into product values(204, 2, 'VEDI');
insert into product values(205, 2, 'Flexsite');
insert into product values(301, 3, '電話遠端服務');
insert into product values(302, 3, '現場服務');
commit;
/**使用者表*/
create table customer(cus_id number, cust_name varchar2(50), gender char(1));
alter table customer add constraint pk_customer primary key(cus_id);
insert into customer values(1001, '王某某', '1');
insert into customer values(1002, '張某某', '0');
insert into customer values(1003, '李某某', '1');
insert into customer values(1004, '趙某某', '1');
commit;
/**銷售表*/
create table sale(sale_id number, pro_id number, cus_id number, unit_price number, quantity number);
alter table sale add constraint pk_sale primary key(sale_id);
insert into sale values(1, 101, 1001, 5000, 10);
insert into sale values(2, 202, 1003, 80000, 3);
insert into sale values(3, 204, 1003, 45000, 3);
insert into sale values(4, 102, 1004, 8000, 5);
insert into sale values(5, 201, 1001, 120000, 2);
insert into sale values(6, 205, 1001, 7000, 4);
insert into sale values(7, 301, 1002, 30000, 1);
insert into sale values(8, 302, 1002, 2000, 10);
insert into sale values(9, 101, 1004, 5000, 2);
insert into sale values(10, 103, 1004, 2000, 2);
insert into sale values(11, 201, 1002, 2000, 1);
commit;
2、在Schema Workbench中構建多維資料的立方體模型
模式檔案如下(Schema Workbench的使用可參考另一篇文章):
<Schema name="sales">
<Cube name="Cube_sales" visible="true" cache="true" enabled="true">
<Table name="SALE" schema="SALES">
</Table>
<Dimension type="StandardDimension" visible="true" foreignKey="CUS_ID" highCardinality="false" name="Dim_Cust" caption="客户维度">
<Hierarchy visible="true" hasAll="true" allMemberName="AllCustomer" allMemberCaption="所有客户" primaryKey="CUS_ID">
<Table name="CUSTOMER" schema="SALES">
</Table>
<Level name="Level_Gender" visible="true" column="GENDER" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="客户性别">
</Level>
<Level name="Level_Name" visible="true" column="CUST_NAME" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="客户姓名">
</Level>
</Hierarchy>
</Dimension>
<Dimension type="StandardDimension" visible="true" foreignKey="PRO_ID" highCardinality="false" name="Dim_Product" caption="产品维度">
<Hierarchy visible="true" hasAll="true" allMemberName="AllProduct" allMemberCaption="所有产品" primaryKey="PRO_ID" primaryKeyTable="PRODUCT">
<Join leftKey="PROTYPE_ID" rightKey="PROTYPE_ID">
<Table name="PRODUCT" schema="SALES">
</Table>
<Table name="PROTYPE" schema="SALES">
</Table>
</Join>
<Level name="Level_ProductName" visible="true" table="PRODUCT" column="PRO_ID" nameColumn="PRO_NAME" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never" caption="产品名称">
</Level>
<Level name="Level_ProductType" visible="true" table="PROTYPE" column="PROTYPE_ID" nameColumn="PROTYPE_NAME" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="Never" caption="产品类别">
</Level>
</Hierarchy>
</Dimension>
<Measure name="SaleQuantity" column="QUANTITY" datatype="Numeric" aggregator="sum" caption="销售数量" visible="true">
</Measure>
<Measure name="SaleAmount" datatype="Numeric" aggregator="sum" caption="销售总额" visible="true">
<MeasureExpression>
<SQL dialect="generic">
<![CDATA[(UNIT_PRICE*QUANTITY)]]>
</SQL>
</MeasureExpression>
</Measure>
<CalculatedMember name="AvgPrice" formatString="¥#,##0.00" caption="平均单价" formula="[Measures].SaleAmount/[Measures].SaleQuantity" dimension="Measures" visible="true">
</CalculatedMember>
</Cube>
</Schema>
3、Saiku中新增模式和資料來源
進入管理控制檯
新增模式檔案,注意模式名最好和Schema檔案中的Schema name一致,上傳成功後應提示Upload Successsful!
新增資料來源
4、新增完成後登出並重新登陸,如果配置和資料庫連線無誤,在多維資料列表裡就可以看到新增的新模型
選取指標和維度,可以看到資料分析結果
直方圖展示
曲線圖展示
熱點圖展示
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2217773/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- saiku+kettle整合(二)資料裝載AI
- 多維資料分析模型設計器Schema Workbench的使用模型
- saiku+kettle整合(八)saiku展示改善AI
- 使用MDX實現多維關聯分析
- 大資料常見的資料分析思維大資料
- Ubuntu下Mysql資料庫的安裝和使用UbuntuMySql資料庫
- 【Mysql】安裝tokudb引擎MySql
- 1、安裝docker引擎Docker
- 每一個資料分析師都必須掌握的方法:多維度分析法
- 資料分析中的降維方法初探
- 安裝和使用 otter (資料同步利器)
- 多維分析函式函式
- 大資料實時多維OLAP分析資料庫Apache Druid入門分享-上大資料資料庫ApacheUI
- 大資料實時多維OLAP分析資料庫Apache Druid入門分享-下大資料資料庫ApacheUI
- 【analyze】使用PL/SQL 方法完成多使用者資料分析SQL
- 資料分析-基礎維度
- 資料分析思維有哪些
- Tesseract引擎的下載和安裝
- 大資料workshop:《線上使用者行為分析:基於流式計算的資料處理及應用》之《實時資料分析:海量日誌資料多維透視》篇大資料
- 資料庫mysql8.0.22的安裝與使用資料庫MySql
- 使用oracle外部表進行資料泵解除安裝資料Oracle
- wireshark安裝使用與tcpdump的抓包分析TCP
- 非度量多維尺度分析
- 資料分析師必懂的10種分析思維
- 如何培養資料分析思維?
- 如何使用傳統資料庫思維進行實時資料流分析? – thenewstack資料庫
- saiku 部署執行AI
- statspack安裝使用和report分析
- statspack安裝使用 和 report 分析
- 2G記憶體搞定一億資料的分析引擎記憶體
- 資料分析中的五大思維方法
- 常見的資料分析思維方式有哪些
- 資料分析的五大思維——資訊圖
- 使用Oracle安裝賬戶登入資料庫Oracle資料庫
- 華為GaussDB資料庫之Yukon安裝與使用資料庫
- Python資料分析--工具安裝及Numpy介紹(1)Python
- 搜尋引擎——Solr安裝、配置Solr
- 【Mysql】Mysql線上安裝其它引擎MySql