
Kylin
文章平均质量分 69
Kylin基本使用和原理解析
Bulut0907
大数据、机器学习、编程语言、IT相关技术分享, 喜欢请关注、点赞、收藏哦!
展开
-
Kylin查询性能优化之减少小的或不均匀的parquet文件、将多个小文件读取到同一个分区
当已经构建的segments中有很多小文件时, 可以修改参数spark.sql.files.maxPartitionBytes(默认值为128MB)为合适的值,这样可以让spark 引擎将一些小文件读取到单个分区中,从而避免太多的小任务。如果有足够的资源, 可以减少该参数的值来增加并行度, 但需要同时减少spark.hadoop.parquet.block.size(默认值为128MB)的值,因为parquet文件的最小分割单元RowGroup由该参数确定。原创 2023-03-27 08:55:07 · 251 阅读 · 0 评论 -
Kylin查询性能优化之使用rowkeys排序列快速读取parquet文件、使用shardby列来裁剪parquet文件
在进行cube的定义时,默认会有一个rowkeys排序列。这样cube构建时,每个cuboid的维度字段都会根据rowkeys排序列,进行数据的排序保存。如果将一个列定义为shardBy列,则shardBy列不同的值会形成不同的parquet文件,这样查询的时候对shardBy列做条件过滤,就能直接跳过不必要的文件扫描。默认一个cube的一个segment的一个cuboid里面,会有多个parquet文件。建议选择高基列(数据基本不重复或者均为唯一值的列),并且会在多个cuboid中。原创 2023-03-20 08:56:50 · 369 阅读 · 0 评论 -
Kylin构建参数优化之Spark构建资源参数配置优化
如果存在严重的内存问题,可以考虑调整kylin.engine.spark-conf.spark.executor.cores为1,使单个任务是每个Executor的独家任务,虽然执行效率相对较低,但它可以通过这种方式来避免构建失败。在kylin.properties配置文件中,以kylin.engine.spark-conf开头的参数,都是设置Spark构建资源的参数。设置kylin.engine.spark-conf.spark.sql.shuffle.partitions为。原创 2023-03-13 09:13:57 · 563 阅读 · 0 评论 -
Kylin构建参数优化之全局字典dict和快照表table_snapshot
精确去重,会使用bit map方法。对于整型数据,可以将这些整数直接保存到bit map中。但其他类型,如String,为了实现精确的重复数据删除,首先需要对这些数据建立一个字典进行统一映射,然后使用bit map方法进行统计。原创 2023-03-06 09:14:06 · 559 阅读 · 0 评论 -
Kylin的三种Job Scheduler任务调度器
DefaultScheduler不能实现高可用,当提交了一个cube构建任务,提交到Kylin服务器A,Kylin服务器A会从Zookeeper的临时节点获取服务器级别的锁(实现类是ZookeeperJobLock),进行cube的构建。之后再提交另一个cube构建任务,提交到Kylin服务器B,Kylin服务器B会从Zookeeper的临时节点获取segment级别的锁,进行cube的构建。但是提交相同的cube构建任务到Kylin服务器,则不能进行cube的构建,因为获取不到Zookeeper的锁。原创 2023-03-01 08:56:22 · 446 阅读 · 0 评论 -
Kylin通过linux脚本调度Restful API定时进行Cube的增量构建
如果构建的时间比定义的时间小8小时,是因为kylin只识别0时区的时间,0时区的0点对应东八区的8点,可以考虑将定义的时间加8小时。当对Hive的分区表进行cube的构建时,可以进行每天定时增量构建。就需要编写linux脚本,动态获取增量构建的开始时间和结束时间,再调用kylin提供的Restful API。在kylin的Web界面的Monitor,可以看到已经提交的cube构建任务。多次进行全量cube的构建,会用最新的segment更新旧的segment。调用linux脚本,进行cube的构建。原创 2023-02-20 09:03:07 · 886 阅读 · 0 评论 -
使用JDBC读取Kylin中的数据
下面我们编写程序,读取kylin中的数据,并打印出来。运行程序,结果如下。可以看到能读出到kylin的数据。添加kylin的jdbc依赖到pom.xml。原创 2023-02-14 08:54:34 · 453 阅读 · 0 评论 -
Kylin查询下压的设置、Sparder查询引擎详细介绍、HDFS文件目录含义
Sparder(SparderContext)是一个一直运行的spark application。Sparder可以接收kylin的查询,进行数据的查询。Sparder的Spark资源是由kylin.properties中,以kylin.query.spark-conf开头的参数决定的。原创 2023-02-13 08:52:37 · 946 阅读 · 0 评论 -
Kylin构建引擎的衍生维度
所以当维度表有多个字段进行cube的构建,比如3个字段,则cuboid的个数由7个变成1个。原创 2023-02-09 08:58:31 · 743 阅读 · 0 评论 -
Kylin入门实战(数据源添加 + Model定义 + Cube构建 + 结果查询 + 查询限制)
新建model第一步:定义model信息第二步:定义model的表如果维度表太大,比如大于300MB,则不要对该维度表进行snapshot。导致不能直接查询该维度表,和不能从该维度表定义Cube的衍生维度字段两个表的join字段类型必须一致再点击Next,进入下一步第三步:选择model的维度字段第四步:选择model的度量字段第五步:model的分区和条件过滤设置由于我们的Hive测试表不是分区表,所以不用定义事实表的分区字段信息,进行的是全量数据构建。原创 2023-02-01 08:57:42 · 1385 阅读 · 0 评论 -
Kylin 4.0.1 分布式集群安装部署
而我们现在使用的是Hadoop 3.3.1,所以需要下载commons-configuration-1.6.jar到apache-kylin-4.0.1-bin-spark3/tomcat/webapps/kylin/WEB-INF/lib目录下,该目录。查看依赖树情况,得到Hadoop 2.7.3依赖commons-configuration:commons-configuration:1.6。访问:http://kylin1:7070/kylin,输入用户名和密码:ADMIN/KYLIN,进行登录。原创 2023-01-30 09:01:40 · 1243 阅读 · 0 评论 -
Kylin的Cube构建聚合组
如果一个维度被定义为强制维度,那么产生的cuboid必须包含该维度(强制维度自己也不能单独形成cuboid)原创 2023-02-08 08:47:35 · 758 阅读 · 0 评论 -
Kylin基本介绍、特点、架构
Kylin是一种MOLAP(Multidimensional OLAP),基于多维数据集,需要预计算。另一种OLAP是ROLAP(Relational OLAP),基于关系型数据库,不需要预计算,例如Presto一个多维数据集称为一个OLAP Cube,例如城市、品类、月份这三个维度,形成共七种组合的数据集。Cuboid是其中的一个组合数据集,例如城市、品类组合形成的数据集。原创 2023-01-29 09:16:17 · 1260 阅读 · 0 评论