首页 文章 精选 留言 我的

精选列表

搜索[实时数仓],共9526篇文章
优秀的个人博客,低调大师

【图文】实操创建快照

大家好,本期为大家介绍阿里云如何创建快照。当您希望使用某块磁盘上的数据作为其它磁盘的基础数据,或者是当磁盘上的数据出现问题需要回滚磁盘的时候,都需要用到磁盘快照。下面开始说明:首先登录阿里云控制台,进入云服务器ECS实例页面,选择需要创建快照的实例。之后点击本实例磁盘。这里我们可以看到本实例的系统盘和数据盘。下面我们可以通过两种方式来创建快照:手动创建和设置自动快照策略。我们先介绍一下手动创建,点击创建快照。在弹出的页面中输入快照名称,标签可以定义快照,方便管理,非必填项,大家可根据需求选择。最后点击确定。之后点击左侧导航栏的本实例快照。这里就可以看到我们刚刚手动创建的快照,等进度变成100%的时候,快照就创建好了。同时也可以在这里通过快照进行回滚磁盘和创建自定义镜像的操作。接下来介绍一下如何创建自定义快照策略。在云服务器ECS页面下点击自动快照策略。这里可以看到我之前创建的快照策略,点击右上角的创建策略。在弹出的页面中输入策略名称,选择创建时间和重复日期,这两项都可以多选,大家根据业务需求自行选择。最后选择快照的保留时间然后点击确定。之后自动快照策略就创建好了,接下来还需要我们将这条策略应用到磁盘上。点击设置磁盘,勾选未设置策略的磁盘,然后点击执行快照策略。现在自动快照策略就设置好了,系统会在我们设置的时间和重复日期里自动创建磁盘快照。 本期创建快照的介绍到此结束,如果大家在创建快照的操作中遇到问题可以在下方留言与我们进行交流。 想获得更多信息,请扫描二维码,关注云特快。如您有疑问也可通过公众号或者直接来电400-650-2029与资深专家进行一对一沟通解决。

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

【图文】实操重置密码

大家好,我们今天介绍如何修改阿里云服务器ECS的远程连接密码和实例密码。 在使用过程中许多用户容易忘掉自己的密码,或者因更改负责人且交接没到位,导致不知道密码,无法使用服务器。这时,您可以登录阿里云账号在控制台直接重置更改密码。 进入管理控制台,这里我们新建了一个ECS。在右侧,点开“更多”,可以看到“密码/密钥”,您可以根据需求选择需要修改的密码,我们分别点开看看。这是点击重置密码之后的窗口,可参照提示修改实例密码,修改完成后记得重启。这是点击修改远程连接密码之后的窗口,这里修改的是远程连接的密码。以上就是修改密码的流程,如果您在操作中遇到其它问题欢迎在下方留言,我们会一一帮您解答。 想获得更多信息,请扫描二维码,关注云特快。如您有疑问也可通过公众号或者直接来电400-650-2029与资深专家进行一对一沟通解决。

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

【视频】实操重置密码

大家好,我们今天介绍如何修改阿里云服务器ECS的远程连接密码和实例密码。 在使用过程中许多用户容易忘掉自己的密码,或者因更改负责人且交接没到位,导致不知道密码,无法使用服务器。这时,您可以登陆阿里云账号在控制台直接重置更改密码。 如果您在操作中遇到其它问题欢迎在下方留言,我们会一一帮您解答。 想获得更多信息,请扫描二维码,关注云特快。如您有疑问也可通过公众号或者直接来电400-650-2029与资深专家进行一对一沟通解决。

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

解密数仓的SQL ON ANYWHERE技术

本文分享自华为云社区《GaussDB DWS的SQL ON ANYWHERE技术解密》,作者:tooooooooooomy。 1. 前言 适用版本:【8.1.1(及以上)】 查询分析是大数据要解决的核心问题之一,虽然大数据相关的处理引擎组件种类繁多,并提供了丰富的接口供用户使用,但相对传统数据库用户来说,SQL语言依然是使用最简单、最广泛和方便的一种接口。如果能在一个客户端中使用SQL语句操作不同的大数据组件,将极大提升使用各种大数据组件的效率。 2. 什么是SQL On Anywhere GaussDB(DWS)的SQL On Anywhere,主要指对大数据的文件系统和与其他异构数据库的访问和交互,构筑起统一的大数据计算平台。大数据文件系统主要包括HDFS和OBS,其他异构数据库主要包括Oracle、Spark和Other GaussDB(DWS)。 3. GaussDB(DWS)SQL On Anywhere的作用及其应用场景 通过SQL On Anywhere特性可以实现与其他大数据组件和数据库互联互通访问,可以直接同时处理本地和HDFS/OBS上的数据集,甚至其他异构数据库的数据,而无需导入导出数据,将其分析能力从本地存储扩展到数据湖中,扩大GaussDB DWS的大数据分析的应用场景;通过该特性可以帮助客户实现冷热数据分离,将使用频度更高的热数据存储在本地,而使用频度更低的冷数据存储在成本更低廉的共享存储HDFS或者DWS上,降低用户成本。 从应用场景来看,可以满足如下业务需求: 针对多数据源需要构建虚拟的统一数据仓库,实现多数据源联邦查询,跨数据仓库热数据和HDFS/OBS冷数据的复杂混合查询,需要提供一致的、熟悉的数据仓库操作体验。 满足低频的业务全数据的低成本低延迟即席查询。 4. GaussDB(DWS)SQL On Anywhere的实现方式 GaussDB(DWS)SQL On Anywhere针对大数据的文件系统的访问主要通过FDW或ELK机制(已停止演进)实现的,而跨数据库的访问主要通过EC+ODBC的方式实现的。 3.1 利用FDW访问HDFS/OBS数据 GaussDB(DWS)对存储在HDFS上的Hadoop或者OBS原生数据的访问,采用FDW(Foreign Data Wrapper)机制,也称外表机制。首先通过创建Foreign Data Server来定义对HDFS数据源或同构其他集群的连接信息;之后创建Foreign Table,用于在GaussDB A数据库内部系统表中,定义对应的HDFS数据源上Hadoop原生结构化数据表的结构或对应同构其他集群结构化数据表的结构。 例如读取hdfs上的数据,其流程如下: ​ 1)建立一个hdfs_server,其中hdfs_fdw为数据库中存在的foreign data wrapper。 --创建hdfs_server。 postgres=# CREATE SERVER hdfs_server FOREIGN DATA WRAPPER HDFS_FDW OPTIONS (address '10.146.187.231:8000,10.180.157.130:8000' , hdfscfgpath '/opt/hadoop_client/HDFS/hadoop/etc/hadoop', type 'HDFS' ) ; ​ 2)创建一个hdfs外表读取hdfs上的数据 CREATE FOREIGN TABLE region ( R_REGIONKEY INT4, R_NAME TEXT, R_COMMENT TEXT ) SERVER hdfs_server OPTIONS( FORMAT 'orc', FOLDERNAME '/user/hive/warehouse/mppdb.db/region_orc11_64stripe/' ) DISTRIBUTE BY roundrobin; ​ 3)查询HDFS外表,例如: select * from region limit 10; 目前外表支持与普通表进行关联查询,并支持多种文件存储格式,其支持的文件格式如下(不同版本能力可能存在差异,以官方文档为准): 3.2 通过ELK访问HDFS(已停止演进,不推荐) ELK的方式类似于HAWQ,它是通过建立表空间为HDFS表空间,直接将数据存储和访问HDFS文件系统,目前只支持访问HDFS文件系统,而不支持访问OBS上的数据。首先通过创建HDFS表空间,然后会创建一个HDFS表,在创建时指定表空间为HDFS表空间,最后对HDFS表的操作如同普通表的操作,可进行插入修改删除数据。 以GaussDB数据库数据推到HDFS中 ​ 1)在数据库中创建HDFS表空间 CREATE TABLESPACE hdfs_table RELATIVE LOCATION ‘tmp/hdtest’ With (filesystem=’hdfs’, address=’28.4.136.221:9000’, cfgpath=’/opt/Huawei/bigdata/mppdb/hdfs_conf/zhndnrop/omm@HADOOP.COM/’, storepath=’/tmp/test’); ​ 2)数据库中创建HDFS表 CREATE TABLE abc( zjxxlh char(20), nbbsh char(20), khwybh char(20), zjlx char(20) )WITH (orientation=orc) TABLESPACE tables_hdfs; ​ 3)向表中插入数据 insert into abc select * from region10; 3.3 基于EC+ODBC的跨集群访问数据 GaussDB(DWS)支持通过 EC(全称Extension Connector)+ODBC统一访问其它大数据组件——将SQL发给其它大数据组件并接收执行结果,实现跨集群访问数据。目前EC+ODBC为用户提供了三种功能: SQL on Oracle、SQL on Spark和SQL on other GaussDB,分别用于连接Oracle数据库、Spark集群和其他GaussDB集群。 EC+ODBC的基本工作原理是:用户首先构建Data Source对象(其中包含目标库的一些连接信息和字符编码方式),然后用户获取该Data Source的使用权限,最后通过标准ODBC API连接目标库,发送SQL语句并获取执行结果。 为了方便使用,EC+ODBC为用户提供了统一的连接函数exec_on_extension(text, text)。其中,第一个参数为Data Source名称,第二个参数为发送的SQL语句,例如: postgres=# SELECT * FROM exec_on_extension('ds_spark', 'select * from a;') AS (c1 int); 5. GaussDB(DWS) SQL On Anywhere的实现方式优缺点对比 点击关注,第一时间了解华为云新鲜技术~

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

数仓如何递归查询视图依赖

本文分享自华为云社区《GaussDB(DWS)如何递归查询视图依赖》,作者:半岛里有个小铁盒。 1. 前言 适用版本:【8.1.0(及以上)】 本文通过介绍with recursive递归查询的办法来实现查询视图的层级依赖关系 2. 实现简介 对于postgres生态来说,视图的依赖关系没有现成的查询方法,需要对系统表pg_depend及pg_rewrite编写复杂的组合查询才能得知,而对于Oracle和MySql,该需求都较易实现,分别查询USER_DEPENDENCIES和INFORMATION_SCHEMA.VIEWS即可轻易查出,因此在pg生态来说有必要编写一个直观的视图来查看各个视图与基表或与其他视图的层级依赖关系。本文通过with recursive递归查询的办法来实现视图的层级依赖关系查询。效果如下: 首先建立两个基表t1、t2,表结构随意,再建立一系列的视图进行层级关联,关联关系也随意。本文的建表及视图语句如下: create table t1 (a int, b int) distribute by hash(a); create table t2 (a int, b int) distribute by hash(a); create view v1 as select * from t1; create view v2 as select * from v1; create view v3 as select * from v2; create view v4 as select * from v3; create view v5 as select * from t2; create view v6 as select * from v5; create view v7 as select * from v6; create view v8 as select * from v2; 实际的局点中,用户的视图依赖关系肯定要比这复杂得多,本文仅讲解原理。对于上述的视图依赖关系,可以通过如下查询得出: SELECT c.ev_class::regclass::varchar AS objname, pc.oid::regclass::varchar AS refobjname, pc.relkind AS relkind FROM pg_depend a,pg_depend b,pg_class pc,pg_rewrite c WHERE a.refclassid=1259 AND a.classid=2618 AND b.deptype='i' AND a.objid=b.objid AND a.classid=b.classid AND a.refclassid=b.refclassid AND a.refobjid<>b.refobjid AND pc.oid=a.refobjid AND c.oid=b.objid AND (a.objid>=16384 or a.refobjid>=16384) GROUP BY c.ev_class,pc.oid,pc.relkind ORDER BY relkind; 其中倒数第二行的16384表示过滤掉系统对象,relkind表示上级依赖对象的类型,r说明依赖于基表,v表示依赖另一个视图。其查询结果如下: 可见这种查询并不直观,只能通过肉眼分析得出递归的依赖关系,对用户并不友好。莫急,先将上述查询保存为视图,例如起名为PUBLIC.gs_view_dependency。接下来我们来学习一下with recursive语法的使用方法,从pg官网可以get到的知识是,WITH语句通常被称为通用表表达式(Common Table Expressions)或者CTEs。WITH语句作为一个辅助语句依附于主语句,WITH语句和主语句都可以是SELECT,INSERT,UPDATE,DELETE中的任何一种语句。WITH语句还可以通过增加RECURSIVE修饰符来引入它自己,从而实现递归: WITH RECURSIVE语句包含了两个部分: (非递归部分)non-recursive term,即上图中的union all前面的部分 (递归部分)recursive term,即上图中union all后面的部分 执行步骤如下: 执行non-recursive term。(如果使用的是union而非union all,则需对结果去重)其结果作为recursive term中对result的引用,同时将这部分结果放入临时的working table中 重复执行如下步骤,直到working table为空:用working table的内容替换递归的自引用,执行recursive term,(如果使用union而非union all,去除重复数据),并用该结果(如果使用union而非union all,则是去重后的结果)替换working table 因此,照葫芦画瓢,我们可以先给这个CTE查询起个名字,例如: WITH RECURSIVE get_view_dependency AS ( ... ) 然后,我们可以把非递归部分写成: SELECT a.objname, a.refobjname, a.refobjname path FROM PUBLIC.gs_view_dependency a where a.relkind = 'r' 因为查找到类型为’r’的基表的时候,递归就应该结束了。并且我们需要将refobjname组装成一条path来实现依赖路径的直观表示。因为是递归,所以我们需要不止一次的调用PUBLIC.gs_view_dependency,因此我们给它起个别名a。而递归的条件显而易见,应该是用refobjname来与objname做内关联,因此我们可以写作: INNER JOIN get_view_dependency cte ON b.refobjname=cte.objname 其中cte就用来指代上一次的递归查询结果,而递归的退出条件就应该是最开始写的类型为’r’的情况。其中b就应该是递归部分每次调用的PUBLIC.gs_view_dependency。而我们除了要查询objname和refobjname外,更重要的是要组成一个path,而path每个节点最好通过一个’->'来直观表示,因此递归部分我们就可以写成: SELECT b.objname, b.refobjname, cte.path ||' -> '|| b.refobjname path FROM PUBLIC.gs_view_dependency b INNER JOIN get_view_dependency cte ON b.refobjname=cte.objname 因此,整个CTE递归查询便可以写成: WITH RECURSIVE get_view_dependency AS ( SELECT a.objname, a.refobjname, a.refobjname path FROM PUBLIC.gs_view_dependency a where a.relkind = 'r' UNION ALL SELECT b.objname, b.refobjname, cte.path ||' -> '|| b.refobjname path FROM PUBLIC.gs_view_dependency b INNER JOIN get_view_dependency cte ON b.refobjname=cte.objname ) SELECT * FROM get_view_dependency; 为了方便以后的使用,我们可以给它起个名字保存起来,例如CREATE VIEW PUBLIC.gs_view_table_dependency AS …。效果就是文章开头所示那样,便大功告成。 3. 总结 在数据库中,查询视图是一种非常有用的工具,它可以帮助我们更好地组织和管理数据。然而,查询视图的层级依赖关系可能会让人感到困惑。本文将介绍一种通过 with recursive 递归查询的办法来实现查询视图的层级依赖关系的方法,希望对你有所帮助。 点击关注,第一时间了解华为云新鲜技术~

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

精打细算使用MaxCompute搭建数仓

MaxCompute是一套阿里自主研发的数据仓库解决方案。产品除了功能、性能、简单等优势外,还能在费用上节省下一大笔前。墨迹天气使用MaxCompute,除了性能和稳定性也有提升外,整体存储和计算的费用比之前节省70%。这是如何做到的呢,这里有一些常用的规则。 在讨论如何做到之前,我们先看下MaxCompute是如何计费的。根据目前的文档,目前的计费方式包含数据的存储、数据的下载以及计算费用。其中计算费用又分I/O后付费和预付费两种收费模式。I/O后付费根据实际的计算来进行收费;而预付费相当于包了几个CU只有购买者可以使用,这几个CU上随便怎么计算都不会产生计算费用。所以如何减少费用,也就是转换成如何减少存储的费用、如何减少下载的费用以及如何减少计算的费用。 存储 数据存储在MaxCompute上是使用列式存储并有压缩的,底层数据存储方

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

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文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册