kylin实操入门

先创建一个project

 

然后选择创建的project

 

 

然后点击data Source下的load Hive Table按钮

填写需要的hive表的全称(库名.表名),完成后点击Sync按钮就是数据导入

 

然后创建一个新的Model

Model Name只能是英文

 

选择事实表(Fact Table),可以通过 add lookup Table添加其他表进行关联

可以是inner join 也可以是left join,然后进行join条件的添加

 

接下来选择会用作维度和度量的列。这里只是选择一个范围,不代

表这些列将来一定要用作Cube的维度或度量,你可以把所有可能会用到

的列都选进来,后续创建Cube的时候,将只能从这些列中进行选择。

选择维度列时,维度可以来自事实表或维度表,如图所示。。

 

选择度量列时,度量只能来自事实表,如图2-7所示

 

 

最后一步,是为模型补充分割时间列信息和过滤条件。如果此模型

中的事实表记录是按时间增长的,那么可以指定一个日期/时间列作为

模型的分割时间列,从而可以让Cube按此列做增量构建

过滤(Filter)条件是指,如果想把一些记录忽略掉,那么这里可以设

置一个过滤条件。Kylin在向Hive请求源数据的时候,会带上此过滤条件。

 

最后,单击“Save”保存此数据模型,随后它将出现在“Models”的列表中。

 

 

创建cube

单击“New”,选择“New Cube”,会开启一个包含若干步骤的向导。

 

第一页,选择要使用的数据模型,并为此Cube输入一个唯一的名称(必需的)和描述(可选的)(如图2-9所示);这里还可以输入一个邮件通知列表,用于在构建完成或出错时收到通知。如果不想接收处于某些状态的通知,那么可以从“Notification Events中将其去掉。

第二页,选择Cube的维度。可以通过以下两个按钮来添加维度。

·“Add Dimension”:逐个添加维度,可以是普通维度也可以是衍生(Derived)维度。

·“Auto Generator”:批量选择并添加,让Kylin自动完成其他信息。使用第一种方法的时候,需要为每个维度起个名字,然后选择表和列

 

 

如果是衍生维度的话,则必须是来自于某个维度表,一次可以选择多个列;由于这些列值都可以从该维度表的主键值中衍生出来,所以实际上只有主键列会被Cube加入计算。而在Kylin的具体实现中,往往采用事实表上的外键替代主键进行计算和存储。但是在逻辑上可以认为衍生列来自于维度表的主键。

需要注意的是:维度的选择都是在之前新建模型的时候设计好的,只能减少,不能增加

 

 

使用第二种方法的时候,Kylin会用一个树状结构呈现出所有的列,用户只需要勾选所需要的列即可,Kylin会自动补齐其他信息,从而方便用户的操作(如图2-12所示)。请注意,在这里Kylin会把维度表上的列都创建成衍生维度,这也许不是最合适的,在这种情况下,请使用第一种方法。

 

第三页,创建度量。Kylin默认会创建一个Count1)的度量。可以单击“+Measure”按钮来添加新的度量。Kylin支持的度量有:SUMMINMAXCOUNTCOUNT DISTINCTTOP_NRAW等。请选择需要的度量类型,然后再选择适当的参数(通常为列名)。

重复上面的步骤,创建所需要的度量。Kylin可以支持在一个Cube中添加多达上百个的度量;添加完所有度量之后,单击“Next”

 

 

 

第四页,是关于Cube数据刷新的设置。在这里可以设置自动合并的阈值、数据保留的最短时间,以及第一个Segment的起点时间(如果Cube有分割时间列的话)

第五页,高级设置。在此页面上可以设置聚合组和Rowkey

 

 

Cube配置参数。和其他Hadoop工具一样,Kylin使用了很

多配置参数以提高灵活性,用户可以根据具体的环境、场景等配置不同

的参数进行调优。Kylin全局的参数值可在conf/kylin.properties文件中进行

配置;如果Cube需要覆盖全局设置的话,则需要在此页面中指定。单

击“+Property”按钮,然后输入参数名和参数值,如图2-18所示,指

定“kylin.hbase.region.cut=1”,这样此Cube在存储的时候,Kylin将会为每个

HTable Region分配1GB来创建一个HTable Region

 

然后单击Next跳转到最后一个确认页面,如有修改,则单击“Prev”

钮返回以修改,最后再单击“Save”按钮进行保存,一个Cube就创建完成了。

创建好的Cube会显示在“Cubes”列表中,如要对Cube的定义进行修

改,只需单击“Edit”按钮就可以进行修改。也可以展开此Cube行以查看更

多的信息,如JSON格式的元数据、访问权限、通知列表等

 

 

构建cube

 

Cube的构建包含如下步骤,由任务引擎来调度执行。

1)创建临时的Hive平表(从Hive读取数据)。

2)计算各维度的不同值,并收集各Cuboid的统计数据。

3)创建并保存字典。

4)保存Cuboid统计信息。

5)创建HTable

6)计算Cube(一轮或若干轮MapReduce)。

7)将Cube的计算结果转成HFile

8)加载HFileHBase

9)更新Cube元数据。

10)垃圾回收

 

进行构建操作

 

 

监控构建过程

历史数据刷新(只针对增量构建的cube),刷新完成之后才能进行新数据查询,否则查到的就是旧数据

 

 

多个segment,尽量进行合并,优化查询性能和存储性能

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章