首页 文章 精选 留言 我的

精选列表

搜索[网站开发],共10000篇文章
优秀的个人博客,低调大师

Atlas(元数据管理)从扫盲到和Hive、HBase、Kafka、Flink等集成开发

先对数据分个类 企业数据管理的内容及范畴通常包括交易数据、主数据以及元数据。(1)交易数据:用于纪录业务事件,如客户的订单,投诉记录,客服申请等,它往往用于描述在某一个时间点上业务系统发生的行为。(2)主数据:主数据则定义企业核心业务对象,如客户、产品、地址等,与交易流水信息不同,主数据一旦被记录到数据库中,需要经常对其进行维护,从而确保其时效性和准确性;主数据还包括关系数据,用以描述主数据之间的关系,如客户与产品的关系、产品与地域的关系、客户与客户的关系、产品与产品的关系等。(3)元数据:即关于数据的数据,用以描述数据及其环境的结构化信息,便于查找、理解、使用和管理数据。 什么是元数据管理 我们前面讲解的技术和平台都在解决主数据和交易数据的采集、加工、存储、计算等问题。但面对海量且持续增加的各式各样的数据时,你一定想知道数据从哪里来以及它如何随时间而变化?采用Hadoop必须考虑数据管理的实际情况,元数据与数据治理成为企业级数据湖的重要部分。所谓元数据管理其实通俗来讲就两点:(1)把各个组件(一般是存储)的元数据收集起来统一管控(2)利用这些收集的元数据去实现各种上层应用以满足各种数据治理场景(数组资产目录、数据分类、搜索与血缘等等) Atlas是什么 Apache Atlas是Hadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括 数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力。可以帮助企业构建其数据资产目录,对这些资产进行分类和管理,并为数据分析师和数据治理团队,提供围绕这些数据资产的协作功能。Atlas不尽致力于管理共享元数据、数据分级、审计、安全性以及数据保护等方面,同时努力与Apache Ranger整合,用于数据权限控制策略。Apache Atlas是hadoop的数据治理和元数据框架,它提供了一个可伸缩和可扩展的核心基础数据治理服务集,使得 企业可以有效的和高效的满足Hadoop中的合规性要求,并允许与整个企业的数据生态系统集成。 Atlas架构与原理 Atlas 是一个可伸缩且功能丰富的数据管理系统,深度集成了 Hadoop 大数据组件。简单理解就是一个跟 Hadoop 关系紧密的,可以用来做元数据管理的一个系统,整个结构 图如下所示: Atlas核心功能分层及说明 集成Hive 集成原理 验证Hive元数据采集效果 (1)先查看Atlas里是否有Hive元数据(2)进入Hive创建一个库表create database if not exists foo;(3)再次进入Atlas查看元数据 历史元数据处理 在上线Atlas之前Hive可能运行很久了,所以历史上的元数据无法触发hook,因此需要一个工具来做初始化导入。Apache Atlas提供了一个命令行脚本 import-hive.sh ,用于将Apache Hive数据库和表的元数据导入Apache Atlas。该脚本可用于使用Apache Hive中的数据库/表初始化Apache Atlas。此脚本支持导入特定表的元数据,特定数据库中的表或所有数据库和表。导入工具调用的是对应的Bridge:org.apache.atlas.hive.bridge.HiveMetaStoreBridge执行导入脚本任意找一台安装过Atlas client的节点,执行如下命令:注意:一定要进入atlas用户,因为Atlas的Linux管理账户是atlas,其他账户下可能会报没有权限的错误。脚本执行过程中会要求输入Atlas的管理员账号/密码(admin/admin%123),看到如下信息就成功了: 查看元数据

优秀的个人博客,低调大师

BookChatApp v1.1 发布,uni-app 开发的书籍阅读APP,实现平板适配

介绍 BookChatApp,通用的书籍阅读 APP,BookChat 的 uni-app 实现版本,支持多端分发编译生成 Android 和 iOS 手机 APP 以及各平台的小程序。 使用 BookChatApp,您可以轻松地将您的电子书、文档手册和在线书籍分发到各个小程序平台,以及编译生成手机 APP 发布到各大手机软件市场供用户下载和使用。 升级日志 内容阅读页面代码块显示优化 Banner等HTTP链接允许外部打开 APP版本升级提示(仅针对Android,iOS有App Store,不需要升级提示) 书架,长按可以将书籍从书架中移除 平板适配 目录页 /pages/menu/menu 书籍阅读页 /pages/read/read 用户中心页 /pages/ucenter/ucenter 首页 /pages/index/index 分类页 /pages/cate/cate 书架页 /pages/bookshelf/bookshelf 列表页 /pages/list/list 个人主页 /pages/me/me 书签页 /pages/bookmarks/bookmarks 搜索结果页 /pages/search/search 内容点评页 /pages/comment/comment 404页 /pages/notfound/notfound 登录页 /pages/login/login 注册页 /pages/register/register 书籍介绍页 /pages/intro/intro 平板适配微调 tab 内边距太大 书架中书籍名称行高调整 搜索输入框优化 相关链接 BookChatApp 开源地址 Gitee: https://gitee.com/truthhun/BookChatApp GitHub: https://github.com/truthhun/BookChatApp BookStackApp 官网:https://www.bookstack.cn BookChatApp 下载体验 目前BookChatApp iOS 版本已经上架APP Store,可以在APP Store 搜索BookChat或BookChatApp进行下载体验。 Android 版本并未上架到各大Android市场,临时下载体验地址: https://www.bookstack.cn/app 图片预览

优秀的个人博客,低调大师

三年Java开发面试,16道MySQL面试题集锦(附答案)

说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。 1.索引是什么?有什么作用以及缺点 答:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。也可以理解为索引就是一本书的目录,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚集索引那么需要的空间就会更大。 2.索引的目的是什么 答:为了高效的查找得到我们所需要的数据,减少分组和排序时间,提高我们的mysql的性能 3.索引对数据库系统的负面影响 答:虽然索引对于数据库的查询提高了效率,但一定程度上增加了空间的占用,同时写入的速度降低了不少,和原有写入数据相比较,多了一步去维护索引的操作。 4.建立索引的原则 答:选择唯一性索引,为经常需要查询、排序、分组和联合操作的字段建立索引,限制索引的数目,最左前缀匹配原则(非常重要的原则),尽量选择区分度高的列作为索引,字段尽力设置不为null,索引列上不计算。 5.主键、外键和唯一索引的区别 答:定义: 主键:唯一标识一条记录,不能有重复的,不允许为空 外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值 索引:该字段没有重复值,但可以有空值 作用: 主键:用来保证数据完整性 外键:用来和其他表建立联系用的 索引:是提高查询排序的速度 个数: 主键:主键只能有一个 外键:一个表可以有多个外键 索引:一个表可以有多个唯一索引 6.MySQL底层实现,MySQL有什么引擎 答:mysql底层采用B+tree的存储结构,也就是只有叶子节点携带真实数据,每个节点大小为16Kb,大致三层的B+tree就可以存2000W左右的数据,大大的减少了磁盘的IO。我们常见的存储引擎有InnoDB和MyISAM。 7.InnoDB和MyISAM区别,InnoDB替代了MyISAM,那么MyISAM是否一无是处。 答:InnoDB支持事务,支持行锁,在磁盘上只存两个文件,一个是索引文件,另一个是数据文件,在B+Tree的主键索引上,叶子节点携带全部数据,MyISAM不支持事务,不支持行锁,磁盘上存了三个文件,一个是索引文件,另一个是数据文件,还有一个存放的对应关系文件,从查询的角度来说,InnoDB没有MyISAM的单条查询速度高,MyISAM采用Hash存储回行得到数据的查询过程,单MyISAM对于范围查询不是很友好。因此我们可以看出InnoDB用的更广一些,但同时MyISAM对于非范围查询的高效还是有很大用处的,而且MyISAM对于表内的总数查询,维护了单独的数据,也是很高效的。 8.什么是事务,事务特性 答:事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。在我们的mysql里也是如此,也就是我们的ACID原则。A原子性,把一系列的动作视为一个最小的操作(原子操作)C一致性,从一个状态到另一个状态是一致的,I隔离性:事务与事务之间是不可见相互隔离的,D持久性:一旦事务提交,则所做修改就会被永久保存到数据库中。可以简单说一下可重复读的MVCC机制,面试官也懵圈。 9.如何设计一个高并发的系统(对于mysql来讲) 答:这个后面会结合别的技术来说,只讲mysql不太好说。大致就是我们首先应该考虑到的是读写分离操作(过几天博客里会详细说这个),再就是我们常见的分库分表操作,水平切分垂直切分。还可以加入缓存redis操作。合理使用索引,explain进行sql优化。 10.锁的优化策略 答:优化,也就是最小力度的锁我们的数据,也就是行锁,InnoDB的行锁其实是加在索引字段的,避免行锁的升级为表锁,再就是我们尽量避免间隙锁,尽量避免我们的范围修改,如果真的必须范围修改,那么我应该尽可能的缩小到最小的范围。 11.优化SQL的方法 答:设置一个主键索引,需主要主键索引一般没有真正业务含义,使用int类型自动增长的,而且不能为null,非主键索引字段优先考虑区分度高的业务情况和最左前缀原则,设置为null。如果真的数据量不大,不建议加索引,反而会影响效率的。选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,使用连接(JOIN)来代替子查询,适用联合(UNION)来代替手动创建的临时表。学会使用explain进行SQL分析,实在不行可以打开trace进行分析SQL情况,用完记得关闭。 12.谈谈三大范式,什么时候使用反范式设计 答:第一范式(1NF):确保每列保持原子性即列不可分 第二范式(2NF):属性完全依赖于主键,也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。 第三范式(3NF):属性和主键不能间接相关(减少数据冗余,这样就可以通过主外键进行表之间连接) 比如我们表比较多,需要关联时,但我们的A表只需要关联B表的一个字段,而且每次都需要关联查询你,这时我们可以采用A表放置一个冗余字段来存B表的那个字段。这个操作其实就是一个反范式的。 13.说几个mysql中你常用的函数答: 答:sum、count 、avg、min、max 14.varchar(100)和varchar(200)的区别 答:占用内存空间大小肯定是不一致的,但是占用我们磁盘的大小是一致的,我们存储字符串"abc",完全是一样的磁盘空间,但是对于varchar(100)来说,接收到的字符串长度太长了就会报错的。后面的数字代表可存储的字节数。 15.varchar(20)和int(20)中的20含义一样吗 答:显然不一致,int(M) M表示的不是数据的最大长度,只是数据宽度,并不影响存储多少位长度的数据;varchar(M) M表示的是varchar类型数据在数据库中存储的最大长度,超过则不存; 16.如何开启慢日志查询? 答:有2种方式,一是修改mysql的配置文件,二是通过set global语句来实现。slow_query_log = ON,打开日志,long_query_time = 2,设置时间,2秒就算是慢查询,然后重启mysql服务即可,进入mysql控制台,输入SET GLOBAL slow_query_log = 'ON';SET GLOBAL long_query_time = X;不需要重启服务就可以得到慢查询日志。 需要java学习路线图的私信笔者“java”领取哦!另外喜欢这篇文章的可以给笔者点个赞,关注一下,每天都会分享Java相关文章!还有不定时的福利赠送,包括整理的学习资料,面试题,源码等~~

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册