learn-kylin解析

learn-kylin是Apache Kylin自带的一个示例,展示了数据组织、模型构建以及Cube构建的过程等。本文通过深入解析learn-kylin,希望能帮助大家学习Kylin的使用。

安装完Kylin后可通过./bin/sample.sh来初始化示例。该脚本主要完成创建hive数据库以及表、将数据导入到hive中、准备必要的目录、初始化模型以及cube等。

下边我们将详细学习一下数据以及kylin的工作过程。

1、关于数据

1.1、原始数据

原始数据包括如下5张表,用于记录销售信息。其中KYLIN_SALES为销售订单明细,为实体表,其他表为维度表,分表为KYLIN_CAL_DT(时间扩展表)、KYLIN_CATEGORY_GROUPINGS(商品类别表)、KYLIN_ACCOUNT(账户表)、KYLIN_COUNTRY(国家地理位置表)。

1.2、原始数据之间的关系


SELECT
KYLIN_SALES.TRANS_ID
,KYLIN_SALES.PART_DT
,KYLIN_SALES.LEAF_CATEG_ID
,KYLIN_SALES.LSTG_SITE_ID
,KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME
,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME
,KYLIN_CATEGORY_GROUPINGS.CATEG_LVL3_NAME
,KYLIN_SALES.LSTG_FORMAT_NAME
,KYLIN_SALES.SELLER_ID
,KYLIN_SALES.BUYER_ID
,BUYER_ACCOUNT.ACCOUNT_BUYER_LEVEL
,SELLER_ACCOUNT.ACCOUNT_SELLER_LEVEL
,BUYER_ACCOUNT.ACCOUNT_COUNTRY
,SELLER_ACCOUNT.ACCOUNT_COUNTRY
,BUYER_COUNTRY.NAME
,SELLER_COUNTRY.NAME
,KYLIN_SALES.OPS_USER_ID
,KYLIN_SALES.OPS_REGION
,KYLIN_SALES.PRICE
FROM DEFAULT.KYLIN_SALES as KYLIN_SALES
INNER JOIN DEFAULT.KYLIN_CAL_DT as KYLIN_CAL_DT
ON KYLIN_SALES.PART_DT = KYLIN_CAL_DT.CAL_DT
INNER JOIN DEFAULT.KYLIN_CATEGORY_GROUPINGS as KYLIN_CATEGORY_GROUPINGS
ON KYLIN_SALES.LEAF_CATEG_ID = KYLIN_CATEGORY_GROUPINGS.LEAF_CATEG_ID AND KYLIN_SALES.LSTG_SITE_ID = KYLIN_CATEGORY_GROUPINGS.SITE_ID
INNER JOIN DEFAULT.KYLIN_ACCOUNT as BUYER_ACCOUNT
ON KYLIN_SALES.BUYER_ID = BUYER_ACCOUNT.ACCOUNT_ID
INNER JOIN DEFAULT.KYLIN_ACCOUNT as SELLER_ACCOUNT
ON KYLIN_SALES.SELLER_ID = SELLER_ACCOUNT.ACCOUNT_ID
INNER JOIN DEFAULT.KYLIN_COUNTRY as BUYER_COUNTRY
ON BUYER_ACCOUNT.ACCOUNT_COUNTRY = BUYER_COUNTRY.COUNTRY
INNER JOIN DEFAULT.KYLIN_COUNTRY as SELLER_COUNTRY
ON SELLER_ACCOUNT.ACCOUNT_COUNTRY = SELLER_COUNTRY.COUNTRY

这里需要注意,KYLIN_ACCOUNT既是BUYER_ACCOUNT又是SELLER_COUNTRY,也就是说账户表里即存了购买者与销售者的账户信息。

发表评论

电子邮件地址不会被公开。 必填项已用*标注