背景 元数据管理可分为如下5个流程步骤:元模型定义、元数据采集、元数据加工、元数据存储、元数据应用。其中,元模型定义是整个元数据管理的前提和规范,用于定义可管理的元数据范式。 元数据采集是元数据来源的重要途径,提供可管理的元数据原料,而如何进行可扩展且高效的元数据采集也是元数据管理的难点之一。本文将主要针对元模型定义、元数据采集两个模块进行详细说明。 元模型定义 元模型是元数据标准的M2层,是对元数据M1层的抽象。更多详情可参考《数据资产管理体系与标准》。 通用数据模型:支持关系型数据源的数据治理,如MySQL、PG、Oracle等元数据管理; 备注:如果需考虑文件元数据等场景,需要对元模型扩展。 ,获取元数据信息; 对于特殊组件,如Hive,可实现组件Hook,基于PUSH主动上报 业务元数据支持PUSH主动上报 异构采集触发:基于消息中间件,解耦元数据的采集过程和处理过程; 元数据推断 元数据推断
可是我们到现在还不知道元类是什么鬼东西。 我们创建类的时候,大多数是为了创建类的实例对象。 那么元类呢? 元类就是用来创建类的。也可以换个理解方式就是:元类就是类的类。 一开始也提到了,元类就是类的类。 也就是元类就是负责创建类的一种东西。 你也可以理解为,元类就是负责生成类的。 而 type 就是内建的元类。也就是 Python 自带的元类。 四、自定义元类 到现在,我们已经知道元类是什么鬼东西了。 那么,从始至终我们还不知道元类到底有啥用。 只是了解了一下元类。 在了解它有啥用的时候,我们先来了解下怎么自定义元类。 但是如果你这样做的话: guy = Person(name='bob', age='35') print guy.age 这并不会返回一个 IntegerField 对象,而是会返回一个 int,甚至可以直接从数据库中取出数据 这是有可能的,因为 models.Model 定义了 __metaclass__ , 并且使用了一些魔法能够将你刚刚定义的简单的Person类转变成对数据库的一个复杂 hook。
背景 在第一篇中我介绍了如何访问元数据,元数据为什么在数据库里面,以及如何使用元数据。介绍了如何查出各种数据库对象的在数据库里面的名字。 本篇我将会介绍元数据中的索引,不仅仅是因为它们本身很重要,更重要的是它们是很好的元数据类型,比如列或者分布统计,这些不是元数据中的对象。 索引对于任何关系数据库表都是必不可少的。 JOIN sys.Extended_Properties ep ON i.Object_Id = ep.Major_Id AND i.Index_Id = Minor_Id AND Class = 7; sys.Extended_Properties ep ON ic.Object_Id = ep.Major_Id AND ic.Index_Id = Minor_Id AND Class = 7 元数据中还有其他类型的索引吗? 还有两种比较特殊的索引,一是空间索引,其信息在sys.spatial_index_tessellations 和 sys.spatial_indexes表中。
如同ProtocolBuffer,Avro,Thrift一样,Parquet也是支持元数据合并的。用户可以在一开始就定义一个简单的元数据,然后随着业务需要,逐渐往元数据中添加更多的列。 在这种情况下,用户可能会创建多个Parquet文件,有着多个不同的但是却互相兼容的元数据。Parquet数据源支持自动推断出这种情况,并且进行多个Parquet文件的元数据的合并。 因为元数据合并是一种相对耗时的操作,而且在大多数情况下不是一种必要的特性,从Spark 1.5.0版本开始,默认是关闭Parquet文件的自动合并元数据的特性的。 可以通过以下两种方式开启Parquet数据源的自动合并元数据的特性: 1、读取Parquet文件时,将数据源的选项,mergeSchema,设置为true 2、使用SQLContext.setConf // 一个是包含了name和age两个列,一个是包含了name和grade两个列 // 所以, 这里期望的是,读取出来的表数据,自动合并两个文件的元数据,出现三个列,name、age、grade /
元数据应用领域较广,种类甚多, 按照不同应用领域或功能,元数据分类有很多种方法或种类,元数据一般大致可为三类:业务元数据、技术元数据和操作元数据。 元数据架构 元数据战略是关于企业元数据管理目标的说明,也是开发团队的参考框架。元数据战略决定了企业元数据架构。 元数据架构可分为三类:集中式元数据架构、分布式元数据架构和混合元数据架构。 集中式元数据架构: 集中式架构包括一个集中的元数据存储,在这里保存了来自各个元数据来源的元数据最新副本。 保证了其独立于源系统的元数据高可用性;加强了元数据存储的统一性和一致性;通过结构化、标准化元数据及其附件的元数据信息,提升了元数据数据质量。集中式元数据架构有利于元数据标准化统一管理与应用。 混合式元数据架构: 这是一种折中的架构方案,元数据依然从元数据来源系统进入存储库。但是存储库的设计只考虑用户增加的元数据、高度标准化的元数据以及手工获取的元数据。
public class MyTest { public static void test01() throws ClassNotFoundException, SQLException, IllegalAccessException, InstantiationException { String driverClass = "com.mysql.jdbc.Driver"; String jdbcUrl = "jdbc:mysql://localhost:3306/
做数据这行的,肯定常听到“元数据”“数据元”“元模型”这三个词。开会时有人说“元数据管理”,转头又有人提“数据元标准”,偶尔还穿插“元模型设计”,但真要问它们仨到底啥区别,估计不少人说不清楚。 一、元数据:描述“数据”本身的信息说白了,元数据就是“关于数据的数据”。 那么元数据到底有啥用?简单说,元数据就是帮你解决“数据从哪儿来、能干啥、怎么用”这三个问题的:实际工作中怎么用元数据的? 比如FineDataLink中要管理“表元数据”和“字段元数据”,元模型就会规定:每个“表元数据”必须关联多个“字段元数据”,每个“字段元数据”必须包含“名称”“类型”“长度”这些信息。 4.治理数据时通过元数据监控表的变更,用数据元校验数据质量,按元模型检查模型是否合规,比如事实表没加外键。总结元数据、数据元、元模型这三个概念,看着有点绕,但其实都是数据治理的基础。
刘耀铭同学元数据系列作品的第一篇,大家支持! 其他元数据相关系列文章: 基于元数据驱动的ETL Hive 元数据表结构详解 1、 元数据是描述其他数据的数据(data about other data),用于提供某种资源有关信息的结构化数据(structed 字面上看无法看出所以然,但其实看对应的英文含义就明确了,Meta指“对······的描述”类似Meta tag,所以元数据就是对数据的解释和描述。 2、 这里主要将数据仓库的元数据分为3类:DBMS数据字典、ETL处理流程产生的日志、BI建模等。 DBMS数据字典 数据库管理系统(DBMS)中的元数据一般在所有的数据仓库都会包含,因为数据仓库一般都是基于数据库搭建的,而数据库本身的管理系统就会自动维护一套数据字典供用户查询。
数据库和数据表的信息: 包含了数据库及数据表的结构信息。 MySQL服务器信息: 包含了数据库服务器的当前状态,版本号等。 在MySQL的命令提示符中,我们可以很容易的获取以上服务器信息。 mysqli_affected_rows ($conn_id) : 0); print ("$count 条数据被影响\n"); ---- 数据库和数据表列表 你可以很容易的在MySQL服务器中获取数据库和数据表列表 你也可以使用 SHOW TABLES 或 SHOW DATABASES 语句来获取数据库和数据表列表。 PERL 实例 # 获取当前数据库中所有可用的表。 : 查看所有数据库 <? > ---- 获取服务器元数据 以下命令语句可以在 MySQL 的命令提示符使用,也可以在脚本中 使用,如PHP脚本。
元数据是用来描述数据的数据(Data that describes other data)。单单这样说,不太好理解,我来举个例子。 这个例子中的"年龄"、"身高"、"相貌"、"性格",就是元数据,因为它们是用来描述具体数据/信息的数据/信息。 当然,这几个元数据用来刻画个人状况还不够精确。 我们每个人从小到大,都填过《个人情况登记表》之类的东西吧,其中包括姓名、性别、民族、政治面貌、一寸照片、学历、职称等等......这一套元数据才算比较完备。 在日常生活中,元数据无所不在。 有一类事物,就可以定义一套元数据。 喜欢拍摄数码照片的朋友应该知道,每张数码照片都包含EXIF信息。它就是一种用来描述数码图片的元数据。 在电影数据库IMDB上可以查到每一部电影的信息。IMDB本身也定义了一套元数据,用来描述每一部电影。
数据库和数据表的信息: 包含了数据库及数据表的结构信息。 MySQL服务器信息: 包含了数据库服务器的当前状态,版本号等。 在MySQL的命令提示符中,我们可以很容易的获取以上服务器信息。 mysqli_affected_rows ($conn_id) : 0); print ("$count 条数据被影响\n"); ---- 数据库和数据表列表 你可以很容易的在MySQL服务器中获取数据库和数据表列表 你也可以使用 SHOW TABLES 或 SHOW DATABASES 语句来获取数据库和数据表列表。 PERL 实例 # 获取当前数据库中所有可用的表。 : 查看所有数据库 <? > ---- 获取服务器元数据 以下命令语句可以在 MySQL 的命令提示符使用,也可以在脚本中 使用,如PHP脚本。
,进行元数据迁移; 迁移过程控制在十分钟之内,以减少对迁移方的业务影响; 元数据合并的难点 hive 的元数据信息(metastore)一般是通过 Mysql 数据库进行存储的,在 hive-1.2.1 参见代码:com.netease.hivetools.apps.SchemaToMetaBean 元数据迁移操作步骤 第一步:备份元数据迁移前的目标和源数据库 第二步:将源数据库的元数据导入到临时数据库 文件中中配置源和目的数据库的 JDBC 配置项 执行元数据迁移命令 hive-tools 会在迁移元数据之前首先检查源和目的元数据库中重名的 hive db,终止元数据迁移操作并给出提示 执行删除重名数据库命令 再次执行执行元数据迁移命令 检查元数据迁移命令窗口日志或文件日志,如果发现元数据合并出错,通过对目的数据库进行执行删除指定 hive db 的命令,将迁移过去的元数据进行删除,如果没有错误,通过 hive 客户端检查目的数据库中是否能够正常使用新迁移过来的元数据 严格按照我们的元数据迁移流程已经在网易集团内部通过 hive-tools 已经成功迁移合并了大量的 hive 元数据库,没有出现过问题。
所以推测,Qt 大概率是采用某种方法拿到了方法和函数名的映射数据,从而完成转换,这部分数据我们暂且称为元数据。2 元数据和元对象什么是元数据? 中,头文件中的部分大概有200行左右,但是看出来其中是有明显的划分的,在元对象中定义了用来存放元数据的地方(源文件的604-612)行,我们可以看到其中存放的元数据的结构元数据以字符串和数组的形式存放在私有的结构体中 // 元数据,用来初始元对象的data部分static const uint qt_meta_data_Myclass[] = { // content: 7, // revision 例如: 所以为1的这项描述,对应元数据的字符串起始位置在第0位,长度为7,从字符串中可以看到,这部分取出来正好是类的名称(MyClass)。 宏的相关类的信息,生成moc文件,得到元数据并构造元对象将生成的文件和源文件一起编译
Annotation元数据(一) 一、Annotation究竟是什么? 是java5.0中的新特征 数据的数据(元数据) Annotation和访问修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数、本地变量的声明中。 public @interface IfInvoke { public boolean invoke(); } 注意: @Retention(RetentionPolicy.RUNTIME):表示在运行时元数据还能被访问 Employee { @IfInvoke(invoke = true) public void extraSalary(){ System.out.println("雇员是业务员,业务提成是:3000元" void extraSalary() [和普通没什么两样] 如果改成如下的定义方式: @Documented @Retention(RetentionPolicy.RUNTIME) //表示在运行时元数据还能被访问
在工作里和很多刚开始接触数据治理的朋友聊天,我发现有几个词特别容易把人绕晕:元数据、数据元、元模型。它们长得像,听起来也差不多,经常被混为一谈。 第一部分:元数据——数据的“说明书”和“地图”我们先说最常听到的元数据。元数据,就是“关于数据的数据”。这个定义有点绕,但很简单。它不是数据内容本身,而是用来描述数据内容的各种信息。 第二部分:数据元——数据的“标准原子”如果说元数据是描述数据的“外部信息”,那么数据元就深入到数据的“内部核心”了。数据元,是数据不可再分的最小单元,并且经过了严格的定义和标识。 如果说元数据描述具体的数据,数据元定义具体的字段,那么元模型就是定义“我们该如何去描述和定义数据”的规则。它是“模型的模型”。这个概念有点绕,我们一步步来。 一个成熟的、方便查询的元数据管理系统,能让你如虎添翼。而当你开始参与数据标准制定或数据平台规划时,数据元和元模型的概念就会变得至关重要。希望这次的梳理,能帮你把这团“元”字头的迷雾吹散一些。
元数据,一个简单的定义是描述数据的数据。在企业中,无论哪里有数据,都有相应的元数据。只有存在完整而准确的元数据,我们才能更好地理解数据并充分利用数据的价值。 为了让大家更好地了解什么是元数据,亿信华辰小编针对元数据的类型,举例说明什么是元数据。 元数据分类及举例说明 一、技术元数据 1.物理元数据描述物理资源的元数据,例如:服务器,操作系统,计算机机房位置和其他信息。 数据生成(例如生成时间,作业信息等) 表访问(例如查询,关联,聚合等) 表关联(例如关联表,关联字段,关联类型,关联数) 字段访问(例如查询,关联,聚合,过滤等)) 7.操作和维护元数据描述了系统的操作和维护级别的元数据 例如业务线、板块、过程数据域、主题域维度、属性索引事实、度量市场与应用。 2.应用元数据指描述了数据应用类的元数据。 3.分析元数据是指从数据分析的角度描述业务元数据。
其他相关文章: 元数据概念 基于元数据驱动的ETL Hive 元数据表结构详解 上一遍我们了解了什么是元数据,即元数据的定义,我们知道了元数据是对数据的描述以及解释,它用来说明数据内容质量状况和其他特征的背景信息 那么元数据具体有什么作用呢? 1、元数据是进行数据集成所必须的。 怎么理解? 元数据做到了对数据仓库有效的数据存储与管理; 2、元数据可以帮助用户理解数据仓库的数据 元数据为运行时的系统提供了统一的可读的系统模型,系统运行时可以使得实体对象通过运行时的元数据模型来得知自身的结构、 4、元数据可以支持需求变化 元数据独立于平台,无论使用什么技术平台,元数据本身不受影响。所以元数据可以支持需求的变化。 7、元数据可以为运行中的系统提供统一的可读的系统模型,使系统在运行时可以使那些实体对象通过元数据来了解其本身的特征、结构、地位以及其他对象之间的关系等。这样可以从一个新的角度来理解、设计和开发系统。
文章目录 前言 享元模式与池技术 享元模式定义与结构 线程池 对象池类图 对象池代码实现 前言 之前写“桥接模式”的时候,说“桥接模式”是最抽象的设计模式,那是因为我没接触到“享元模式”。 可能桥接模式是最抽象的设计模式,但是享元模式我觉得是最烦的设计模式了。 因为这个模式和“池技术”有着密不可分的联系。 享元模式与池技术 说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池、线程池等等都是享元模式的应用,所以说享元模式是池技术和池技术密不可分。 享元模式正是为解决这一类问题而诞生的。享元模式通过共享技术实现相同或相似对象的重用。 享元模式定义与结构 享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。 这些部分(享元工厂、元素外部属性、元素内部属性),就是享元模式的主要构成。
目录 1、数据库中的元数据 1.1 什么是数据库元数据 1.2 数据库元数据的作用 1.3 如何获取元数据 2、 数据库元数据 2.1 构建环境 2.2 获取数据库综合信息 2.3 获取数据库列表 2.4 获取某数据库中的所有表信息 2.5 获取指定数据库表中的字段属性 3、参数元数据 3.1 获取预编译SQL语句中占位符参数的个数 4、 结果集元数据 ---- 1、数据库中的元数据 1.1 什么是数据库元数据 元数据(MetaData),是指定义数据结构的数据。 例如这张表的表头(列名) 当然还有数据库名和表名。 除了这些还有用户名、版本名以及从SQL语句得到的结果中的大部分字符串都是元数据。 1.2 数据库元数据的作用 那数据库中的元数据有什么作用呢? 主要有两个方面: 应用设计方面,例如代码生成器,它里面就需要用到数据库元数据。 如果你了解了数据库元数据,就能对数据库的一些框架有更深层次的了解,例如 jpa,Mybatis。
Greenplum 元数据信息 Greenplum 元数据信息 1、 获取集群中数据库信息 1.1 集群中的创建的数据库信息 1.2 查看每个数据库的储存大小 1.3 查看集群中hostname 1.4 查看集群数据库的版本信息 1.5 查看集群master与segment安装的信息 2、 查看数据库下schema信息 2.1 查看数据库下创建的schema信息 2.2 查看数据库下每个 5.1 查看创建的所有Function的信息 5.2 查看制定schema下的Function信息 6 集群中资源队列的信息 6.1 查看创建的资源队列 6.2 查看资源队列的参数配置 7 9.1 查询数据库的年龄 9.2 查询表的年龄 1、获取集群中数据库信息 1.1 集群中的创建的数据库信息 select datname from pg_database where datname select * from pg_resqueue 6.2 查看资源队列的参数配置 select rsqname,resname,ressetting from pg_resqueue_attributes 7