基于Apache Kylin的分析案例

基于Apache Kylin的分析案例

· 案例4测试成功 

1、准备kafka数据

2、从streaming定义一个表

3、定义模型

4、定义cube

5、构建cube

6、查询数据

7、定时自动构建cube

· 案例5测试成功 

1、数据准备

2、数据导入hive

3、构建kylin model

4、构建kylin cube

5、构建Schema

6、在saiku中查询数据

 

目前找到下面一些案例,还没有在我们的环境进行测试,主要问题是案例中的数据源找不到。

 

1github上找到一个项目,一样的 

https://github.com/albertoRamon/Kylin/tree/master/KylinAmazon 



2、基于 Apache Kylin 的航班准点率分析 

http://cn.kyligence.io/2016/11/18/%E5%9F%BA%E4%BA%8E-apache-kylin-%E7%9A%84%E8%88%AA%E7%8F%AD%E5%87%86%E7%82%B9%E7%8E%87%E5%88%86%E6%9E%90/ 

   

3、基于Apache Kylin 的销售分析示例 

http://cn.kyligence.io/2016/10/27/%E5%9F%BA%E4%BA%8Eapache-kylin-%E7%9A%84%E9%94%80%E5%94%AE%E5%88%86%E6%9E%90%E7%A4%BA%E4%BE%8B/ 

  

4Twitter热词分析:基于Apache KylinStreaming建模示例 

http://cn.kyligence.io/2016/11/24/kylin-twitter-streaming/ 

   

5Apache Kylin1.5.2.1之订单案例详细构建流程 

http://www.cnblogs.com/sh425/p/5778992.html 

   

6kylin mondrian saiku interaction 

http://gree2.github.io/bi/2016/01/20/kylin-mondrian-saiku-interaction 

   

   

案例4测试成功

这个例子是kylinkafkastream数据对接,构建cube的过程。目前不支持Lookup 表,在定义模型时,只能选择fact表。因此不能通过  Mondrian 制作schema再与saiku集成。 

案例中用到的Twitter数据获取不到,就参考官网给的例子进行测试( http://kylin.apache.org/docs20/tutorial/cube_streaming.html)。 

  

1、准备kafka数据

a) 新建一个 topic “kylindemo”,指定3partitions 

 

export KAFKA_HOME=/usr/hdp/2.6.0.3-8/kafka 

export KYLIN_HOME=/home/hdfs/raw/apache-kylin-2.2.0-SNAPSHOT-bin 

cd $KAFKA_HOME

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic kylindemo

 

b)放数据到新建的topic; Kylin有一个工具类可以完成

cd $KYLIN_HOME 

/bin/kylin.sh org.apache.kylin.source.kafka.util.KafkaSampleProducer --topic kylindemo --broker master:6667

 

c)这个工具每秒发送100条数据到kafka,在进行下面的操作过程中保持工具类是运行状态。你可以使用 kafka-console-consumer.sh 查看样例数据

cd $KAFKA_HOME 

bin/kafka-console-consumer.sh --zookeeper master:2181 --topic kylindemo --from-beginning

 

2、从streaming定义一个表

a)选择添加streaming

 

b)在弹出框左侧输入一个样例数据,点击中间的按钮,kylin会解析样例数据中的属性,输入表名后点下一步

 

 

c)设置kafka配置信息

 

d)加载成功后查看表

 

3、定义模型

a)只能选择fact

b)模型维度

 

c)模型度量

 

d)模型分区

4、定义cube

a)选择cube维度

bcube度量

 

ccube聚合

 

5、构建cube

a)直接在界面上build

b)使用命令build

curl -X PUT --user ADMIN:KYLIN -H "Content-Type: application/json;charset=utf-8" -d '

{ "sourceOffsetStart": 0, "sourceOffsetEnd": 9223372036854775807, "buildType": "BUILD"}' http://master:7070/kylin/api/cubes/kylindemo/build2

 

6、查询数据

a)在insight界面查询

b)查询结果

 

7、定时自动构建cube

使用Linux自带的cron定时用命令构建cube

crontab -e 

*/5 * * * * curl -X PUT --user ADMIN:KYLIN -H "Content-Type: application/json;charset=utf-8" -d '

{ "sourceOffsetStart": 0, "sourceOffsetEnd": 9223372036854775807, "buildType": "BUILD"}' http://master:7070/kylin/api/cubes/kylindemo/build2

 

  

  

  

案例5测试成功

   

1、数据准备

拷贝文档中的每张表的数据,放到master主机上的hive用户目录下,/home/hive/kylinsample 

fact_order.txt 

dim_custom.txt 

dim_day.txt 

dim_product.txt 

dim_salesperson.txt 

   

2、数据导入hive

 

 Expand source 

create table default.fact_order (

time_key string,

product_key string,

salesperson_key string,

custom_key string,

quantity_ordered bigint,

order_dollars bigint,

cost_dollars bigint

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

STORED AS TEXTFILE;

load data local inpath 'kylinsample/fact_order.txt' into table default.fact_order;

 

DROP TABLE IF EXISTS default.dim_day ;

create table default.dim_day (

day_key string,

full_day string,

month_name string,

quarter string,

year string

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

STORED AS TEXTFILE; 

load data local inpath 'kylinsample/dim_day.txt' overwrite into table default.dim_day;

 

 

create table default.dim_salesperson (

salesperson_key string,

salesperson string,

salesperson_id string,

region string,

region_code string

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

STORED AS TEXTFILE;

 

load data local inpath 'kylinsample/dim_salesperson.txt' overwrite into table default.dim_salesperson;

 

create table default.dim_custom (

custom_key string,

custom_name string,

custorm_id string,

headquarter_states string,

billing_address string,

billing_city string,

billing_state string,

industry_name string

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

STORED AS TEXTFILE;

 

load data local inpath 'kylinsample/dim_custom.txt' overwrite into table default.dim_custom;

 

create table default.dim_product ( 

product_key string, 

product_name string, 

product_id string, 

product_desc string, 

sku string, 

brand string, 

brand_code string, 

brand_manager string, 

category string, 

category_code string 

ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 

STORED AS TEXTFILE; 

 

load data local inpath 'kylinsample/dim_product.txt' overwrite into table default.dim_product; 

 

 

 

3、构建kylin model

   

名称为 WareHouse_01_Model 

详细构建过程参考Kylin cube创建 

a)模型结构 

   

b) 维度 

c)度量 

   

4、构建kylin cube

   

a)维度 

b)度量 

c)聚合 

构建成功之后,可以在insight界面查询数据。 

   

5、构建Schema

使用Mondrian Schema Workbench来做,详细步骤参考schema-workbench使用说明 

做成之后的结果为warehouse.xml 

   

6、在saiku中查询数据

使用saiku界面来查看图表和图形展示效果,详细步骤参考saiku-kylin集成测试 

效果图-1 

效果图-2 

效果图-3 

   

   

   

   

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盒马coding

你的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值