• 沒有找到結果。

命令语法

3.6.2.12 SET/RESET 命令功能命令功能

示例

CLEAN FILES FOR TABLE CarbonDatabase.CarbonTable;

上述命令将从物理上删除所有DELETE SEGMENT命令删除的segment和合并后的旧的 segment。

系统响应

可在driver日志中查看命令运行成功或失败。

3.6.2.12 SET/RESET 命令功能

此命令用于动态Add,Update,Display或Reset CarbonData参数,而无需重新启动 driver。

命令格式

● Add或Update参数值:

SET parameter_name=parameter_value

此命令用于添加或更新“parameter_name”的值。

● Display参数值:

SET parameter_name

此命令用于显示指定的“parameter_name”的值。

● Display会话参数:

SET

此命令显示所有支持的会话参数。

● Display会话参数以及使用细节:

SET -v

此命令显示所有支持的会话参数及其使用细节。

● Reset参数值:

RESET

此命令清除所有会话参数。

参数描述

3-49 SET 参数描述

参数 描述

parameter_n

ame 其值需要被动态添加(add),更新(update)或显示(display)

的参数名称。

parameter_va

lue 将要设置的“parameter_name”的新值。

注意事项

以下为分别使用SET和RESET命令进行动态设置或清除操作的属性:

3-50 属性描述

属性 描述

carbon.options.bad.records.logger.enab

le 启用或禁用bad record日志记录。

carbon.options.bad.records.action 指定bad record操作,例如,强制

(force),重定向(redirect),失败

(fail)或忽略(ignore)。有关详细信 息,请参阅•Bad Records处理:

carbon.options.is.empty.data.bad.recor

d 指定空数据是否被视为bad record。有关

详细信息,请参阅 Bad Records处理:

carbon.options.sort.scope 指定数据加载期间排序的范围。

carbon.options.bad.record.path 指定需要存储bad record的HDFS路径。

carbon.custom.block.distribution 指定是否使用Spark或CarbonData的块 分布功能。

enable.unsafe.sort 指定在数据加载期间是否使用不安全的 排序。不安全的排序可减少数据加载操 作期间的垃圾回收,从而实现更好的性 能。

carbon.si.lookup.partialstring 当参数设置为TRUE时,二级索引采用 starts-with、ends-with、contains和 LIKE分区条件字符串。

当参数设置为FALSE时,二级索引只采用 starts-with分区条件字符串。

属性 描述

carbon.input.segments 指定要查询的段ID。 此属性允许您查询 指定表的指定段。CarbonScan将仅从指 定的段ID读取数据。

语法:

“carbon.input.segments.

<database_name>. <table_name> = <

list of segment ids >”

如果用户想在多线程模式下查询指定 段,可使用CarbonSession.threadSet 代替SET语句。

语法:

“CarbonSession.threadSet ("carbon.input.segments.

<database_name>. <table_name>","<

list of segment ids >");”

说明不建议在carbon.properties文件中设置该属 性,因为所有会话都包含段列表,除非发生 会话级或线程级覆盖。

示例

● 添加(Add)或更新(Update):

SET enable.unsafe.sort=true

● 显示(Display)属性值:

SET enable.unsafe.sort

● 显示段ID列表,段状态和其他所需详细信息的示例,然后指定要读取的段列表:

SHOW SEGMENTS FOR TABLE carbontable1;

SET carbon.input.segments.db.carbontable1 = 1, 3, 9;

● 多线程模式查询指定段示例如下:

CarbonSession.threadSet

("carbon.input.segments.default.carbon_table_MulTI_THread", "1,3");

● 在多线程环境中使用CarbonSession.threadSet查询段示例如下(以Scala代码为 例):def main(args: Array[String]) {

Future

{ CarbonSession.threadSet("carbon.input.segments.default.carbon_table_MulTI_THread", "1") spark.sql("select count(empno) from carbon_table_MulTI_THread").show()

} }

● 重置(Reset):

RESET

系统响应

● 若运行成功,将记录在driver日志中。

● 若出现故障,将显示在用户界面(UI)中。

ADATA_L OCK

COMPAC TION_L OCK

DROP_TA BLE_LOC K

DELETE_S EGMENT_

LOCK

CLEAN_FI LES_LOC K

ALTER_PA RTITI ON_LOC K

UPDATE_

LOCK

STREAMI NG_LOC K

CONCUR RENT_LO AD_LOCK

SEGME NT_LO CK

CREATE TABLE

- - -

-CREATE TABLE As SELECT

- - - COMPACT ION

- √ - - - - √ - -

-TABLE RENAME

- - -