2013-01-05 4 views
4

나는 BI 스택을 구축하는 방법을 배우려고 노력하고있어,하지만 난 실패 프로세스의 어떤 부분이 이해에 붙어 :디버깅 BI 스택 : MySQL의 + 몬드리안 + 쿠 서버

  1. 을 스타 스키마를 설계 : 내 스타 데이터베이스에 내 OLTP 데이터베이스 (MySQL은)에서
  2. 데이터로드를 수행 (MySQL은 너무) : 펜타 데이터 통합 ​​
  3. 몬드리안 XML 설명에게 큐브를 만들기로 수행 : 몬드리안 스키마 워크 벤치
  4. 사이 쿠를 Setuping으로 수행 서버를 몬드리안 XML 설명을 사용하여 올바른 구성으로 MySQL 스타 데이터베이스 : 완료

결과 : Saiku에 큐브가 없습니다. 이것이 어떤 요소에서 왔는지 나는 모른다. 이 부분을 실행할 수 있기 때문에 2 단계는 정확합니다.

CREATE TABLE IF NOT EXISTS `dim_date` (
    `date_id` int(11) NOT NULL AUTO_INCREMENT, 
    `date` datetime DEFAULT NULL, 
    `month` varchar(3) DEFAULT NULL, 
    `year` varchar(4) DEFAULT NULL, 
    PRIMARY KEY (`date_id`), 
    KEY `idx_dim_date_lookup` (`date`,`month`,`year`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

CREATE TABLE IF NOT EXISTS `dim_sector` (
    `sector_id` int(11) NOT NULL AUTO_INCREMENT, 
    `sector` varchar(255) DEFAULT NULL, 
    PRIMARY KEY (`sector_id`), 
    KEY `idx_dim_sector_lookup` (`sector`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

CREATE TABLE IF NOT EXISTS `dim_size` (
    `size_id` int(11) NOT NULL AUTO_INCREMENT, 
    `size` varchar(10) DEFAULT NULL, 
    PRIMARY KEY (`size_id`), 
    KEY `idx_dim_size_lookup` (`size`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

CREATE TABLE IF NOT EXISTS `fact_companies` (
    `fact_id` int(11) NOT NULL AUTO_INCREMENT, 
    `count` int(11) NOT NULL, 
    `date_id` int(11) NOT NULL, 
    `sector_id` int(11) NOT NULL, 
    `size_id` int(11) NOT NULL, 
    PRIMARY KEY (`fact_id`), 
    KEY `date_id` (`date_id`), 
    KEY `sector_id` (`sector_id`), 
    KEY `size_id` (`size_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

ALTER TABLE `fact_companies` 
    ADD CONSTRAINT `fact_companies_ibfk_1` FOREIGN KEY (`date_id`) REFERENCES `dim_date` (`date_id`), 
    ADD CONSTRAINT `fact_companies_ibfk_2` FOREIGN KEY (`sector_id`) REFERENCES `dim_sector` (`sector_id`), 
    ADD CONSTRAINT `fact_companies_ibfk_3` FOREIGN KEY (`size_id`) REFERENCES `dim_size` (`size_id`); 

내 몬드리안 XML이다 (크기가 누락) :

type=OLAP 
name=test 
driver=mondrian.olap4j.MondrianOlap4jDriver 
location=jdbc:mondrian:Jdbc=jdbc:mysql://192.168.1.43/testdb;Catalog=res:test/testdb.xml;JdbcDrivers=com.mysql.jdbc.Driver; 
username=test 
password=test 

I :

<Schema name="New Schema1"> 
    <Cube name="companies_cube" visible="true" cache="true" enabled="true"> 
    <Table name="fact_companies"> 
    </Table> 
    <Dimension type="TimeDimension" visible="true" foreignKey="date_id" name="date"> 
     <Hierarchy name="All" visible="true" hasAll="true" allMemberName="all" allMemberCaption="all" allLevelName="all"> 
     <Level name="Date" visible="true" table="dim_date" column="date" nameColumn="date" uniqueMembers="false"> 
     </Level> 
     <Level name="Month" visible="true" table="dim_date" column="month" nameColumn="month" uniqueMembers="false"> 
     </Level> 
     <Level name="Year" visible="true" table="dim_date" column="year" nameColumn="year" uniqueMembers="false"> 
     </Level> 
     </Hierarchy> 
    </Dimension> 
    <Dimension type="StandardDimension" visible="true" foreignKey="sector_id" name="Sector"> 
     <Hierarchy name="Sector" visible="true" hasAll="true" primaryKey="sector_id" primaryKeyTable="sector_id"> 
     <Level name="Sector" visible="true" table="dim_sector" column="sector_id" nameColumn="sector" uniqueMembers="false"> 
     </Level> 
     </Hierarchy> 
    </Dimension> 
    <Measure name="count companies" column="count" aggregator="sum" visible="true"> 
    </Measure> 
    </Cube> 
</Schema> 

사이 쿠 서버와 내 연결을 통해 이루어집니다

여기에 내 스타 스키마의 제공되는 식품 샘플과 사이 쿠의 문서를 고려하여이 글을 썼습니다.

어디를 봐야하나요? 작동하지 않는 것을보기 위해 무엇을 할 수 있습니까? BI 인프라를 개발하는 전문적인 방법은 무엇입니까?

+0

saiku 서버 로그를 확인하십시오. 파일을 찾는 지 확인할 수 있습니다. 문제는 사이 크가 몬 드리 안 XML을 찾지 못하거나 어떤 이유로 유효성을 검사하지 못한다는 것입니다. (Saiku는 유효하지 않은 스키마를 허용하지 않습니다.) 또는 freenode IRC에서 ## saiku를 시도하면 즉각적인 도움이됩니다! – Codek

+0

로그 파일을 체크했는데 내 파일에 대한 언급이 없습니다. – AsTeR

+0

바로 지금 내가하고있는 것 ... "BI 인프라를 개발하는 전문적인 방법은 무엇입니까?"에 대한 정답은 Pentaho의 BI Suite와 관련이 있습니다. 안부 전해 주시길 바랍니다. D 절대 안됩니다. 무슨 일이 있어도 계속 붙잡고 블로그 포스트로 바꿀 것입니다. – Raffael

답변

3

질문을 실행하지 못했지만 현재 saiku가로드되므로 100 % 작동하지 않습니다.

첫 번째 지점 : tomcat/saiku/catalina.out에는 디버깅에 대한 흥미로운 로그 정보가 들어 있습니다. 두 번째 점 : saiku 설정의 위치 문자열이 누락 된 파일을 가리키고 있는데 도움이되지 않습니다. 세 번째 요점 : 차원 테이블은 몬드리안의 XML로 언급되어야합니다 (정확한 버전이 뒤 따릅니다).

<Schema name="New Schema1"> 
    <Cube name="companies_cube" visible="true" cache="true" enabled="true"> 
    <Table name="fact_companies"> 
    </Table> 
    <Dimension type="TimeDimension" visible="true" foreignKey="date_id" highCardinality="false" name="date"> 
     <Hierarchy name="Date" visible="true" hasAll="true" allMemberName="all dates" allMemberCaption="all dates" allLevelName="all dates"> 
     <Table name="dim_date"> 
     </Table> 
     <Level name="Year" visible="true" table="dim_date" column="year" nameColumn="year" type="String" uniqueMembers="false" levelType="TimeYears" hideMemberIf="Never"> 
     </Level> 
     <Level name="Month" visible="true" table="dim_date" column="month" nameColumn="month" type="String" uniqueMembers="false" levelType="TimeMonths" hideMemberIf="Never"> 
     </Level> 
     <Level name="Date" visible="true" table="dim_date" column="date" nameColumn="date" type="String" uniqueMembers="false" levelType="TimeDays" hideMemberIf="Never"> 
     </Level> 
     </Hierarchy> 
    </Dimension> 
    <Dimension type="StandardDimension" visible="true" foreignKey="sector_id" highCardinality="false" name="Sector"> 
     <Hierarchy name="Sector" visible="true" hasAll="true" allMemberName="all sector" allMemberCaption="all sector" allLevelName="all sector" primaryKey="sector_id"> 
     <Table name="dim_sector" alias=""> 
     </Table> 
     <Level name="Sector" visible="true" table="dim_sector" column="sector_id" nameColumn="sector" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"> 
     </Level> 
     </Hierarchy> 
    </Dimension> 
    <Measure name="count companies" column="count" aggregator="sum" visible="true"> 
    </Measure> 
    </Cube> 
</Schema> 
+0

일반 메모장 ++을 사용하여 .xml 파일을 작성하면 유효성 검사 오류가 발생하면 큐브가 처리되지 않고 누락됩니다. 스키마 유효성 검사를 위해 매우 유용한 다음 플러그인을 사용할 수 있습니다. http://ivy-is.co.uk/ivyse-ivy-schema-editor/ – rpd