单元库质量验证方法之qualify_library

本文介绍了qualify_library工具在单元库质量验证中的应用,包括NLDM-CCST一致性、电压范围、敏感性等多个检查项目。通过示例展示了如何使用该工具进行检查,并强调了检查项的选择和配置。

点击上面“蓝字”关注我们!

上一篇推文介绍了单元库质量验证方法之一compare_library,在比较两个lib结构及数值的一致性方面非常有用。那么,如果我们手上有一个lib,我们能否检查这个lib的语法,结构,一致性,数据合理性,精度等等质量指标呢?这篇推文就来介绍一下单元库质量验证方法之二——qualify_library。

Qualify_library能检查的项目包括:NLDM-CCST一致性检查,NLDM-CCSN一致性检查,voltage range检查,sensitivity检查,leakage检查,hazard检查,pg_pin检查,data range检查,minimum load index检查等等。其中前三项是必查项,后几项为选查项,由用户指定是否需要检查。

 

先上qualify_library的语法:

 

qualify_library [-cells list_of_strings] [-check list_of_strings] string

 

[-cells list_of_strings]列出哪些cells需要检查;[-check list_of_strings]列出需要做的检查项,如aocv, data_range, hazard,leakage, load_index, lvf, pg_pin, sensitivity等等;string指定library的名字或者cell-level library的路径。

 

qualify_library如何使用?下面列举一个基本的用法:

 

set_location $charpoint<

[root@cdh liyaoming]# python3 /zhiyun/liyaoming/python/pwd/crm_user_base_info_his_full.py Warning: Ignoring non-Spark config property: hive.metastore.uris Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 25/11/03 01:15:11 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 25/11/03 01:15:11 WARN SparkConf: Note that spark.local.dir will be overridden by the value set by the cluster manager (via SPARK_LOCAL_DIRS in mesos/standalone/kubernetes and LOCAL_DIRS in YARN). 25/11/03 01:15:20 WARN SparkStringUtils: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'. Traceback (most recent call last): File "/zhiyun/liyaoming/python/pwd/crm_user_base_info_his_full.py", line 136, in <module> df = spark.sql(sql) File "/usr/include/openssl/lib/python3.9/site-packages/pyspark/sql/session.py", line 1631, in sql return DataFrame(self._jsparkSession.sql(sqlQuery, litArgs), self) File "/usr/include/openssl/lib/python3.9/site-packages/py4j/java_gateway.py", line 1322, in __call__ return_value = get_return_value( File "/usr/include/openssl/lib/python3.9/site-packages/pyspark/errors/exceptions/captured.py", line 185, in deco raise converted from None pyspark.errors.exceptions.captured.AnalysisException: [TABLE_OR_VIEW_NOT_FOUND] The table or view `ods_liyaoming`.`c_code_value` cannot be found. Verify the spelling and correctness of the schema and catalog. If you did not qualify the name with a schema, verify the current_schema() output, or qualify the name with the correct schema and catalog. To tolerate the error on drop use DROP VIEW IF EXISTS or DROP TABLE IF EXISTS.; line 83 pos 10; 'WithCTE :- CTERelationDef 0, false : +- SubqueryAlias member_with_idcard : +- Project [id#9, memcardno#10, busno#11, introducer#12, cardtype#13, cardlevel#14, cardpass#15, cardstatus#16, saleamount#17, realamount#18, puramount#19, integral#20, integrala#21, integralflag#22, cardholder#23, cardaddress#24, sex#25, tel#26, handset#27, fax#28, createuser#29, createtime#30, tstatus#31, notes#32, ... 11 more fields] : +- SubqueryAlias reg : +- SubqueryAlias spark_catalog.ods_guosi.erp_u_memcard_reg_full : +- Relation spark_catalog.ods_guosi.erp_u_memcard_reg_full[id#9,memcardno#10,busno#11,introducer#12,cardtype#13,cardlevel#14,cardpass#15,cardstatus#16,saleamount#17,realamount#18,puramount#19,integral#20,integrala#21,integralflag#22,cardholder#23,cardaddress#24,sex#25,tel#26,handset#27,fax#28,createuser#29,createtime#30,tstatus#31,notes#32,... 10 more fields] orc +- 'Project ['m.id, 'm.memcardno, 't1.orgname, 'm.introducer, 'm.cardtype, 'm.cardlevel, 'm.cardpass, 'c1.val_name AS cardstatus_desc#0, 'm.saleamount, 'm.realamount, 'm.puramount, 'm.integral, 'm.integrala, 'm.integralflag, 'REGEXP_REPLACE('m.cardholder, [^一-龥], ) AS cardholder_cn#1, 'm.cardaddress, 'regexp_extract('m.cardaddress, ^(.*?(省|自治区|直辖市)), 1) AS province#2, 'regexp_extract('regexp_replace('regexp_replace('m.cardaddress, sd{6}$, ), 'concat(^, 'regexp_extract('m.cardaddress, ^(.*?(省|自治区|直辖市)), 1)), ), ^(.*?(市|县)), 1) AS city#3, 'regexp_extract('m.cardaddress, s(d{6})$, 1) AS postcode#4, 'm.sex, 'c2.val_name AS sex_desc#5, 'm.tel, 'm.handset, 'm.fax, ... 14 more fields] +- 'Join LeftOuter, ((('SUBSTRING('m.sex, 2) = 'c2.var_desc) AND ('c2.cat_name = 性别)) AND ('c2.cat_code = GB00006)) :- 'Join LeftOuter, ((('m.cardstatus = cast('c1.var_desc as int)) AND ('c1.cat_name = 会员卡状态)) AND ('c1.cat_code = GB00005)) : :- Join LeftOuter, (busno#44 = lpad(cast(busno#11 as string), 3, 0)) : : :- SubqueryAlias m : : : +- SubqueryAlias member_with_idcard : : : +- CTERelationRef 0, true, [id#9, memcardno#10, busno#11, introducer#12, cardtype#13, cardlevel#14, cardpass#15, cardstatus#16, saleamount#17, realamount#18, puramount#19, integral#20, integrala#21, integralflag#22, cardholder#23, cardaddress#24, sex#25, tel#26, handset#27, fax#28, createuser#29, createtime#30, tstatus#31, notes#32, ... 11 more fields], false : : +- SubqueryAlias t1 : : +- SubqueryAlias spark_catalog.ods_liyaoming.c_org_busi : : +- Relation spark_catalog.ods_liyaoming.c_org_busi[id#43,busno#44,orgname#45,orgsubno#46,orgtype#47,salegroup#48,org_tran_code#49,accno#50,sendtype#51,sendday#52,maxday#53,minday#54,notes#55,stamp#56,status#57,customid#58,whl_vendorno#59,whlgroup#60,rate#61,creditamt#62,creditday#63,peoples#64,area#65,abc#66,... 41 more fields] orc : +- 'SubqueryAlias c1 : +- 'UnresolvedRelation [ods_liyaoming, c_code_value], [], false +- 'SubqueryAlias c2 +- 'UnresolvedRelation [ods_liyaoming, c_code_value], [], false [root@cdh liyaoming]#
最新发布
11-04
<think>好的,我现在需要帮助用户查找表tbl_qualify_mutex中的FUNC_ID和UN_FUNC_ID字段的中文名及含义。首先,我应该回顾用户提供的引用内容,看看是否有相关信息。 引用[1]提到了MySQL的STATISTICS表,可以查询索引信息,但用户需要的是字段的中文名称和含义,这可能涉及表结构或数据字典的信息,而STATISTICS表主要存储索引信息,可能不够。引用[2]讨论了外键约束的问题,与字段含义无关。引用[3]涉及Hive表的分区查看,也不相关。因此,这些引用可能对当前问题帮助不大,需要寻找其他方法。 用户的问题是关于字段的中文名和含义,通常这些信息存储在数据库的数据字典、表注释或字段注释中。在MySQL中,可以通过INFORMATION_SCHEMA.COLUMNS表来查询字段的注释,例如: SELECT COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tbl_qualify_mutex' AND COLUMN_NAME IN ('FUNC_ID', 'UN_FUNC_ID'); 如果注释中有中文说明,就能直接获取。如果注释为空,可能需要检查其他途径,比如数据库设计文档、ER图或询问相关开发人员。 另外,用户可能需要确认数据库类型,因为不同数据库系统的元数据查询方式不同。例如,Hive使用不同的元数据存储方式,但用户提到的是tbl_qualify_mutex,结合引用[3]中的Hive分区查看,可能需要确认是否在Hive环境中。不过,根据字段名,可能更常见于关系型数据库如MySQL。 如果用户没有权限访问INFORMATION_SCHEMA,或者注释未填写,可能需要建议他们联系数据库管理员或查阅项目文档。此外,还可以建议用户使用DESCRIBE语句或SHOW FULL COLUMNS命令来查看字段信息,但这些可能不包含中文注释。 总结可能的回答步骤: 1. 使用INFORMATION_SCHEMA查询字段注释。 2. 检查数据库设计文档或数据字典。 3. 联系相关人员获取信息。 4. 如果注释不存在,建议补充文档或注释。 另外,生成相关问题时要围绕数据库结构、字段含义、元数据查询方法等方面。</think>根据您提供的信息,数据库表结构元数据通常存储在$INFORMATION\_SCHEMA$数据库中。对于表$tbl\_qualify\_mutex$字段中文含义的查询,建议通过以下步骤实现: 1. **查询字段注释**(推荐方法) ```sql SELECT COLUMN_NAME AS 字段名, COLUMN_COMMENT AS 中文含义 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tbl_qualify_mutex' AND COLUMN_NAME IN ('FUNC_ID', 'UN_FUNC_ID'); ``` 该方法通过$COLUMNS$表的$COLUMN\_COMMENT$字段获取注释信息,该字段通常由DBA维护字段说明[^1] 2. **查看建表语句**(需权限) ```sql SHOW CREATE TABLE tbl_qualify_mutex; ``` 在输出结果中查找`COMMENT`标注,例如: $$ \text{`func\_id` int COMMENT '功能标识码'} $$ 3. **系统字典表查询**(若为定制系统) 部分系统会在应用层维护独立的`数据字典表`,例如: ```sql SELECT field_code, field_name, description FROM sys_data_dict WHERE table_name = 'tbl_qualify_mutex'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值