kylin apache java_Apache Kylin | Kylin 中的工具类

Kylin 有很多好的工具类。这篇文档会介绍以下几个工具类:KylinConfigCLI.java,CubeMetaExtractor.java,CubeMetaIngester.java,CubeMigrationCLI.java 和 CubeMigrationCheckCLI.java。在使用这些工具类前,首先要切换到 KYLIN_HOME 目录下。

KylinConfigCLI.java

作用

KylinConfigCLI 工具类会将您输入的 Kylin 参数的值输出。

如何使用

类名后只能写一个参数,conf_name 即您想要知道其值的参数名称。

./bin/kylin.sh org.apache.kylin.tool.KylinConfigCLI

例如:

./bin/kylin.sh org.apache.kylin.tool.KylinConfigCLI kylin.server.mode

结果:

all

如果您不知道参数的准确名称,您可以使用以下命令,然后所有以该前缀为前缀的参数的值都会被列出。

./bin/kylin.sh org.apache.kylin.tool.KylinConfigCLI .

例如:

./bin/kylin.sh org.apache.kylin.tool.KylinConfigCLI kylin.job.

结果:

max-concurrent-jobs=10

retry=3

sampling-percentage=100

CubeMetaExtractor.java

作用

CubeMetaExtractor.java 用于提取与 Cube 相关的信息以达到调试/分发的目的。

如何使用

类名后至少写两个参数。

./bin/kylin.sh org.apache.kylin.tool.CubeMetaExtractor - -destDir

例如:

./bin/kylin.sh org.apache.kylin.tool.CubeMetaExtractor -cube querycube -destDir /root/newconfigdir1

结果:

命令执行成功后,您想要抽取的 Cube / project / hybrid 将会存在于您指定的 destDir 目录中。

下面会列出所有支持的参数:

Parameter

Description

allProjects

Specify realizations in all projects to extract

compress

Specify whether to compress the output with zip. Default true.

cube

Specify which Cube to extract

destDir

(Required) Specify the dest dir to save the related information

engineType

Specify the engine type to overwrite. Default is empty, keep origin.

hybrid

Specify which hybrid to extract

includeJobs

Set this to true if want to extract job info/outputs too. Default false

includeSegmentDetails

Set this to true if want to extract segment details too, such as dict, tablesnapshot. Default false

includeSegments

Set this to true if want extract the segments info. Default true

onlyOutput

When include jobs, only extract output of job. Default true

packagetype

Specify the package type

project

Specify realizations in which project to extract

storageType

Specify the storage type to overwrite. Default is empty, keep origin.

submodule

Specify whether this is a submodule of other CLI tool. Default false.

CubeMetaIngester.java

作用

CubeMetaIngester.java 将提取的 Cube 吞并到另一个 metadata store 中。目前其只支持吞并 cube。

如何使用

类名后至少写两个参数。请确保您想要吞并的 Cube 在要吞并到的 project 中不存在。注意:zip 文件解压后必须只能包含一个目录。

./bin/kylin.sh org.apache.kylin.tool.CubeMetaIngester -project -srcPath

例如:

./bin/kylin.sh org.apache.kylin.tool.CubeMetaIngester -project querytest -srcPath /root/newconfigdir1/cubes.zip

结果:

命令执行成功后,您想要吞并的 Cube 将会存在于您指定的 srcPath 目录中。

下面会列出所有支持的参数:

Parameter

Description

forceIngest

Skip the target Cube, model and table check and ingest by force. Use in caution because it might break existing cubes! Suggest to backup metadata store first. Default false.

overwriteTables

If table meta conflicts, overwrite the one in metadata store with the one in srcPath. Use in caution because it might break existing cubes! Suggest to backup metadata store first. Default false.

project

(Required) Specify the target project for the new cubes.

srcPath

(Required) Specify the path to the extracted Cube metadata zip file.

CubeMigrationCLI.java

作用

CubeMigrationCLI.java 用于迁移 cubes。例如:将 Cube 从开发环境迁移到测试(生产)环境,反之亦然。请注意,我们假设不同的环境是共享相同的 Hadoop 集群,包括 HDFS,HBase 和 HIVE。

如何使用

前八个参数必须有且次序不能改变。

./bin/kylin.sh org.apache.kylin.tool.CubeMigrationCLI

例如:

./bin/kylin.sh org.apache.kylin.tool.CubeMigrationCLI /root/apache-kylin-2.5.0-bin-hbase1x/conf/kylin.properties /root/me/apache-kylin-2.5.0-bin-hbase1x/conf/kylin.properties querycube IngesterTest true false false true false

命令执行成功后,请 reload metadata,您想要迁移的 Cube 将会存在于迁移后的 project 中。

下面会列出所有支持的参数:

如果您使用 cubeName 这个参数,但想要迁移的 Cube 所对应的 model 在要迁移的环境中不存在,不必担心,model 的数据也会迁移过去。

如果您将 overwriteIfExists 设置为 false,且该 Cube 已存在于要迁移的环境中,当您运行命令,Cube 存在的提示信息将会出现。

如果您将 migrateSegmentOrNot 设置为 true,请保证 Kylin metadata 的 HDFS 目录存在且 Cube 的状态为 READY。

Parameter

Description

srcKylinConfigUri

The KylinConfig of the Cube’s source

dstKylinConfigUri

The KylinConfig of the Cube’s new home

cubeName

the name of Cube to be migrated.(Make sure it exist)

projectName

The target project in the target environment.(Make sure it exist)

copyAclOrNot

True or false: whether copy Cube ACL to target environment.

purgeOrNot

True or false: whether purge the Cube from src server after the migration.

overwriteIfExists

Overwrite Cube if it already exists in the target environment.

realExecute

If false, just print the operations to take, if true, do the real migration.

migrateSegmentOrNot

(Optional) true or false: whether copy segment data to target environment. Default true.

CubeMigrationCheckCLI.java

作用

CubeMigrationCheckCLI.java 用于在迁移 Cube 之后检查“KYLIN_HOST”属性是否与 dst 中所有 Cube segment 对应的 HTable 的 MetadataUrlPrefix 一致。CubeMigrationCheckCLI.java 会在 CubeMigrationCLI.java 中被调用,通常不单独使用。

如何使用

./bin/kylin.sh org.apache.kylin.tool.CubeMigrationCheckCLI -fix -dstCfgUri -cube

例如:

./bin/kylin.sh org.apache.kylin.tool.CubeMigrationCheckCLI -fix true -dstCfgUri /root/me/apache-kylin-2.5.0-bin-hbase1x/conf/kylin.properties -cube querycube

下面会列出所有支持的参数:

Parameter

Description

fix

Fix the inconsistent Cube segments’ HOST, default false

dstCfgUri

The KylinConfig of the Cube’s new home

cube

The name of Cube migrated

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值