首页
学习
活动
专区
工具
TVP
发布

Hadoop数据仓库

专栏成员
530
文章
772980
阅读量
110
订阅数
MySQL全局遍历替换特征字符串
需求:将一个MySQL实例(如10.10.10.1:3306)范围内所有字段数据中的 .letssing.net 替换为 .kaixinvv.com。
用户1148526
2023-03-08
1.9K0
维度模型数据仓库(十五) —— 多重星型模式
(五)进阶技术         10. 多重星型模式         从(五)进阶技术1.  “增加列”开始,已经通过增加列和表扩展了数据仓库,在(五)进阶技术5. “快照”里增加了第二个事实表,month_end_sales_order_fact表。这之后数据仓库模式就有了两个事实表(第一个是在开始建立数据仓库时创建的sales_order_fact表)。有了这两个事实表的数据仓库就是一个正式的双星型模式。         本篇将在现有的维度数据仓库上增加一个新的星型结构。与现有的与销售关联的星型结构不同,新的星型结构关注的是产品业务领域。新的星型结构有一个事实表和一个维度表,用于存储数据仓库中的产品数据。         一个新的星型模式         图(五)- 10-1 显示了扩展后的数据仓库模式。模式中有三个星型结构。sales_order_fact表是第一个星型结构的事实表,与其相关的维度表是customer_dim、product_dim、date_dim和sales_order_attribute_dim表。month_end_sales_order_fact表是第二个星型结构的事实表。product_dim和month_dim是其对应的维度表。第一个和第二个星型结构共享product_dim维度表。第二个星型结构的事实表和月份维度数据分别来自于第一个星型结构的事实表和date_dim维度表。它们不从源数据获得数据。第三个星型模式的事实表是新建的production_fact表。它的维度除了存储在已有的date_dim和product_dim表,还有一个新的factory_dim表。第三个星型结构的数据来自源数据。
用户1148526
2022-12-02
3780
MySQL括号字符串计数
现在想得出每种评论字数的个数,每个字符包括标点、空格、表情符号都算一个字,但每对中括号连同其中的内容只算一个字。对于上面的数据行,结果为:
用户1148526
2022-11-14
1.3K0
使用MySQL 8的递归CTE遍历树
目录 1. 从根遍历到叶 2. 从叶遍历到根 3. 确定叶子节点、分支节点和根节点 (1)使用相关子查询 (2)更高效的写法(一次外连接) ---- 表数据: mysql> select * from t1; +------+------+ | id | pid | +------+------+ | 7788 | 7566 | | 7902 | 7566 | | 7499 | 7698 | | 7521 | 7698 | | 7900 | 7698 | | 7844 | 7698 | | 7654
用户1148526
2022-11-07
7720
MySQL查询求中位数最简单的写法
        讨论:MySQL本身没有提供中位数函数。网上有许多写法,基本是笛卡尔积与窗口函数两类,但都不是很理想。
用户1148526
2022-10-28
1.4K0
ShardingSphere实践(8)——影子库
        在基于微服务的分布式应用架构下,业务需要的多个服务是通过一系列的服务、中间件的调用来完成,所以单个服务的压力测试已无法代表真实场景。在测试环境中,如果重新搭建一整套与生产环境类似的压测环境,成本过高,并且往往无法模拟线上环境的复杂度以及流量。因此,业内通常选择全链路压测的方式,即在生产环境进行压测,这样所获得的测试结果能够准确地反应系统真实容量和性能水平。
用户1148526
2022-08-30
1.4K1
维度模型数据仓库(十七) —— 无事实的事实表
(五)进阶技术         12. 无事实的事实表         本篇讨论一种技术,用来处理源数据中没有度量的需求。例如,产品源数据不包含产品数量信息,如果系统需要得到产品的数量,很显然不能简单地从数据仓库中直接得到。这时就要用到无事实的事实表技术。使用此技术可以通过持续跟踪产品的发布来计算产品的数量。可以创建一个只有产品(计什么数)和日期(什么时候计数)维度代理键的事实表。之所以叫做无事实的事实表是因为表本身并没有度量。         产品发布的无事实事实表  本节说明如何实现一个产品发布的无事实事实表,包括新增和初始装载product_count_fact表。图(五)- 12-1显示了跟踪产品发布数量的数据仓库模式(只显示与product_count_fact表有关的表)。
用户1148526
2022-06-14
8470
ShardingSphere实践(6)——弹性伸缩
        对于使用单数据库运行的系统来说,如何安全简单地将数据迁移至水平分片的数据库上,一直以来都是一个迫切的需求。对于已经使用了ShardingSphere的用户来说,随着业务规模的快速变化,也可能需要对现有的分片集群进行弹性扩容或缩容。
用户1148526
2022-06-12
3.7K0
ShardingSphere实践(4)——读写分离
        ShardingSphere最重要的功能模块是数据分片,从规则到实现都比较复杂。其他功能相对来说比较简单,本篇介绍ShardingSphere的读写分离功能。
用户1148526
2022-06-05
6510
MySQL Fabric实验(二)Sharding
一、概述         MySQL Fabric这一新的架构为MySQL提供了高可用和向外扩展的特性。本实验专注于使用Fabric对多个MySQL服务器进行读写实现向外扩展。当单个MySQL服务器(或HA组)的写性能达到极限时,可以使用Fabric把数据分布到多个MySQL服务器组。注意这里说的组可以是单一服务器,也可以是HA组。管理员通过建立一个分片映射定义数据如何在多个服务中分片。一个分片映射作用于一个或多个表,由管理员指定每个表上的哪些列作为分片键,MySQL Fabric使用分片键计算一个表的特定行应该存在于哪个分片上。当多个表使用相同的映射和分片键时,这些表上包含相同列值(用于分片的列)的数据行将存在于同一个分片。单一事务可以访问一个分片中的所有数据。目前Fabric提供两种用分片键计算分片号的方法:         HASH:在分片键上执行一个哈希函数生成分片号。如果作为分片键的列只有很少的重复值,那么哈希函数的结果会平均分布在多个分片上。         RANGE:管理员显式定义分片键的取值范围和分片之间的映射关系。这可以尽可能让用户控制数据分片,并确定哪一行被分配到哪一个分片。         应用程序访问分片的数据库时,它设置一个连接属性指定分片键。Fabric连接器会应用正确的范围或哈希映射,并将事务路由到正确的分片。当需要更多的分片时,MySQL Fabric可以把现有的一个分片分成两个,同时修改状态存储和连接器中缓存的路由数据。类似地,一个分片可以从一个HA组迁移到另一个。         注意单一的事务或查询只能访问一个单一的分片,所以基于对数据的理解和应用的访问模式选择一个分片键是非常重要的。并不是对所有表分片都有意义。对于当前不能交叉分片查询的限制,将某些小表的全部数据存储到每一个组中可能会更好。这些全局表被写入到‘全局组’,表中数据的任何改变都会自动复制到所有其它非全局组中。全局组中模式(结构)的改变也会复制到其它非全局组中以保证一致性。为了得到做好的映射,在没有‘自然选择’的分片键时可能需要修改模式。 二、安装与配置
用户1148526
2022-05-07
8790
一个有趣的MySQL拆分字符串需求
例如: “魏派牌CC6460AE04A” =》 “魏派牌” “CC6460AE04A” “梅赛德斯-奔驰牌BJ6457H” =》 “梅赛德斯-奔驰牌” “BJ6457H” “博斯特A4121988CC小轿车” =》 “博斯特” “A4121988CC小轿车” “发现4SALAN2F6” =》 “发现” “4SALAN2F6”
用户1148526
2022-04-13
1.4K0
Greenplum 实时数据仓库实践(1)——数据仓库简介
对于每一种技术,先要理解相关的概念和它之所以出现的原因,这对于我们继续深入学习其技术细节大有裨益。实时数据仓库首先是个数据仓库,只是它优先考虑数据的时效性问题。因此本篇开头将介绍业界公认的数据仓库定义,它和操作型数据库应用的区别,以及为什么我们需要数据仓库。 在对数据仓库的概念有了基本的认识后,有必要单独说明一下ETL这个最重要的过程,然后向读者介绍四种常见的数据仓库架构。本篇最后描述实时数据仓库的产生背景、特定需求和使用场景,并列举一些常见的实时数据仓库技术架构。
用户1148526
2021-12-07
1.7K0
Kettle构建Hadoop ETL实践(十):并行、集群与分区
本专题前面系列文章详细说明了使用Kettle的转换和作业,实现Hadoop上多维数据仓库的ETL过程。通常Hadoop集群存储的数据量是TB到PB,如果Kettle要处理如此多的数据,就必须考虑如何有效使用所有的计算资源,并在一定时间内获取执行结果。
用户1148526
2020-12-08
1.8K0
Kettle构建Hadoop ETL实践(九):事实表技术
上两篇里介绍了几种基本的维度表技术,并用示例演示了每种技术的实现过程。本篇说明多维数据仓库中常见的事实表技术。我们将讲述五种基本事实表扩展,分别是周期快照、累积快照、无事实的事实表、迟到的事实和累积度量。和讨论维度表一样,也会从概念开始认识这些技术,继而给出常见的使用场景,最后以销售订单数据仓库为例,给出Kettle实现的作业、转换和测试过程。
用户1148526
2020-11-26
5.9K0
Kettle构建Hadoop ETL实践(八-2):维度表技术
数据仓库中的关联实体经常表现为一种“父—子”关系。在这种类型的关系中,一个父亲可能有多个孩子,而一个孩子只能属于一个父亲。例如,通常一名企业员工只能被分配到一个部门,而一个部门会有很多员工。“父—子”之间形成一种递归型树结构,是一种比较理想和灵活的存储层次关系的数据结构。本小节说明一些递归处理的问题,包括数据装载、树的展开、递归查询、树的平面化等技术实现。销售订单数据仓库中没有递归结构,为了保持示例的完整性,将会使用另一个与业务无关的通用示例。
用户1148526
2020-11-12
2.3K0
Kettle构建Hadoop ETL实践(六):数据转换与装载
本篇重点是针对销售订单示例创建并测试数据装载的Kettle作业和转换。在此之前,先简要介绍数据清洗的概念,并说明如何使用Kettle完成常见的数据清洗工作。由于本示例中Kettle在Hadoop上的ETL实现依赖于Hive,所以之后对Hive做一个概括的介绍,包括它的体系结构、工作流程和优化。最后用完整的的Kettle作业演示如何实现销售订单数据仓库的数据转换与装载。
用户1148526
2020-10-26
4.1K0
Kettle构建Hadoop ETL实践(五):数据抽取
本篇介绍如何利用Kettle提供的转换步骤和作业项实现Hadoop数据仓库的数据抽取,即ETL过程中的Extract部分。首先简述Kettle中几种抽取数据的组件,然后讲述变化数据捕获(Change Data Capture,CDC),以及Kettle如何支持不同的CDC技术。Hadoop生态圈中的Sqoop工具可以直接在关系数据库和HDFS或Hive之间互导数据,而Kettle支持Sqoop输入、输出作业项。最后我们使用Kettle里的Sqoop作业项以及基于时间戳的CDC转换实现销售订单示例的数据抽取过程,将MySQL中的源数据抽取到Hive的rds数据库中。
用户1148526
2020-10-10
6.6K0
Kettle构建Hadoop ETL实践(一):ETL与Kettle
我在2017年写了一本名为《Hadoop构建数据仓库实践》的书。在这本书中,较为详细地讲解了如何利用Hadoop(Cloudera's Distribution Including Apache Hadoop,CDH)生态圈组件构建传统数据仓库。例如,使用Sqoop从关系数据库全量或增量抽取数据到Hadoop系统,使用Hive进行数据转换和装载处理等等。作为进阶,书中还说明了数据仓库技术中的渐变维、代理键、角色扮演维度、层次维度、退化维度、无事实事实表、迟到事实、累计度量等常见问题在Hadoop上的处理。它们都是通过Hive SQL来实现的,其中有些SQL语句逻辑复杂,可读性也不是很好。
用户1148526
2020-08-17
4.6K0
Kettle与Hadoop(一)Kettle简介
Kettle是一款流行的ETL(Extract-Transform-Load,即数据抽取、转换、装载)工具,并可用来操作Hadoop上的数据。Kettle是用Java语言开发的。它最初的作者Matt Casters原是一名C语言程序员,在着手开发Kettle时还是一名Java小白,但是他仅用了一年时间就开发出了Kettle的第一个版本。虽然有很多不足,但这版毕竟是可用的。使用自己并不熟悉的语言,仅凭一己之力在很短的时间里就开发出了复杂的ETL系统工具,作者的开发能力和实践精神令人十分佩服。后来Pentaho公司获得了Kettle源代码的版权,Kettle也随之更名为Pentaho Data Integration,简称PDI。
用户1148526
2020-05-27
3.1K0
彻底搞清 Kettle 数据分发方式与多线程
Kettle转换中,各步骤之间行集(row set)的发送有分发和复制两种方式,本文讨论这两种方式的区别,以及它们与Kettle多线程的关系。我们用一个简单的例子辅助说明,Kettle版本为8.3。定义一个转换,以t1表作为输入,输出到表t2和t3。t1表中有1-10十个整数。当创建第二个跳(hop)时,会弹出一个警告窗口,如图1所示。
用户1148526
2020-05-26
4.8K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档