Apache HBase

SQL基础随记 (Tobe Continued)

丶灬走出姿态 提交于 2020-08-08 17:56:15
SQL基础随记 (Tobe Continued) 其实这里的随记,要是好久不接触突然被问的话有时还真的一时答不上,自己写一遍胜过盲扫。当然,也有些常读常新的地方会记录下来。 对SQL语言进行划分 DDL --- Data Definition Language --- 定义 --- 增删改数据库和表的结构 DML --- Data Manipulation Language --- 操作 --- 对记录增删改 DQL --- Data Quary Language --- 查询 --- 对记录进行查询 DCL --- Data Control Language --- 控制 --- 访问权限和安全规则 要是要突然问的话有时还真的一时回答不上,记住单词胜过记缩写 DBMS的分类 关系型 行存储 --- MySQL NosQL 键值型 --- Redis 文档型 --- MongoDB 搜索引擎 --- Elasticsearch 列存储(列族数据库) 图形数据库 列存储数据库说是“可以降低系统的I/O,但功能相对有限”,不过我看到了一段有意思的话觉得很有道理 列存储常见于分布式文件系统,如Hbase 图(这种数据结构)存储了实体(对象)之间的关系。以最典型的人与人社交关系为例,其数据模型主要是以节点和边来实现。特点在于可以有效解决复杂的关系问题。 来源: oschina 链接:

Apache Spark 自定义优化规则:Custom Optimizer Rule

我只是一个虾纸丫 提交于 2020-08-08 11:07:44
在 《Apache Spark 自定义优化规则:Custom Strategy》 文章中我们介绍了如何自定义策略,策略是用在逻辑计划转换到物理计划阶段。而本文将介绍如何自定义逻辑计划优化规则,主要用于优化逻辑计划,和前文不一样的地方是,逻辑优化规则只是等价变换逻辑计划,也就是 Logic Plan -> Login Plan,这个是在应用策略前进行的。 如果想及时了解 Spark 、Hadoop或者HBase相关的文章,欢迎关注微信公众号: iteblog_hadoop 假设我们有以下计算逻辑: val df = spark.range(10).toDF("counts") val iteblogDF = df.selectExpr("1 * counts ") println(iteblogDF.queryExecution.optimizedPlan.numberedTreeString) 我们有一张表,里面只有名为 counts 的一列,我们对表的每行都乘以 1,现在我们使用 iteblogDF.queryExecution.optimizedPlan.numberedTreeString 来看下上面表达式的优化之后的逻辑计划: 00 Project [(1 * id#0L) AS (1 * counts)#4L] 01 +- Range (0, 10, step=1,

Zookeeper入门,一篇就够啦

若如初见. 提交于 2020-08-08 04:53:13
创作不易,如果觉得这篇文章对你有帮助,欢迎各位老铁点个赞呗,您的支持是我创作的最大动力! 本系列主要总结下Zookeeper的基础使用,笔者准备写四篇文章: 博文内容 资源链接 Linux下搭建Zookeeper运行环境 https://blog.csdn.net/smilehappiness/article/details/105933433 Zookeeper入门,一篇就够啦 https://blog.csdn.net/smilehappiness/article/details/105933292 Zookeeper客户端ZkClient、Curator的使用,史上最详细的教程来啦~ https://blog.csdn.net/smilehappiness/article/details/105938058 Zookeeper使用总结(进阶篇) https://blog.csdn.net/smilehappiness/article/details/105938119 文章目录 前言 1 初识Zookeeper 2 Zookeeper运行环境 3 zoo.cfg配置文件详解 4 Zookeeper数据结构 5 Zookeeper客户端 5.1 图形界面客户端 5.2 命令行客户端 前言 本文主要介绍Zookeeper的一些概念,以及通过命令行的方式

计算压力倍增,携程度假起价引擎架构演变

假如想象 提交于 2020-08-07 21:05:30
携程度假每个旅游线路在每期、每天的价格均有变化,而价格变化又受到多个因素影响。为尽快捕捉到价格变化,需要不断优化调整架构,使得价格调整灵敏度更高更准。这对被调服务及硬件产生了极大的压力,也带来了新的瓶颈。那么,携程是如何解决这一难题的呢?本文是携程高级研发经理陈少伟在「云加社区沙龙online」的分享整理,着重介绍了携程度假起价引擎架构不断演进的过程。 点击视频,查看完整直播回放 一、背景介绍 1. 什么是度假起价引擎? 首先,解释一下什么是度假起价引擎。度假每个旅游线路涉及到不同的出发地,不同的出发地下有不同可出发班期,每个班期都有对应的这一天的价格。旅游产品的价格由多个资源组成的,任何一个资源价格发生变化,都会影响到产品的价格。 为了尽快捕捉到价格变化,需要有一个专门的价格系统去监测不同资源的价格变化,这就是起价引擎。 2. 旅游电商和普通电商的区别是什么? 普通电商的商品基本都是标品,价格和库存都针对的是单个SKU(StockKeeping Unit 库存单元),而旅游打包类商品都是由多个SKU组成(静态和实时匹配),任意一个SKU的价格、库存发生变化,都会直接影响到它所关联的所有产品。正是由于变量太多,这也给定价带来了极大的挑战。 上图展示的是京东上一个商品截图,我们可以看到它涉及到两个SKU,基本上像这种情况,每个SKU的价格都是比较确定的。 3.

zookeeper

邮差的信 提交于 2020-08-07 07:36:26
ZooKeeper是一个 分布式 的,开放源码的 分布式应用程序 协调服务,是 Google 的Chubby一个 开源 的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集,提供Java和C的接口。 ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口, 应用场景: 1、数据发布和订阅 2、负载均衡 3、命名服务 4、分布式协调 、通知、心跳服务 https://blog.csdn.net/cndmss/article/details/80220273 # zookeeper时间配置中的基本单位 (毫秒) tickTime = 2000 # 允许follower初始化连接到leader最大时长,它表示tickTime时间倍数 即:initLimit*tickTime initLimit = 10 # 允许follower与leader数据同步最大时长,它表示tickTime时间倍数 syncLimit = 5 #zookeper 数据存储目录 dataDir =/tmp/zookeeper #对客户端提供的端口号

怎么查看HBase表的创建时间

我的梦境 提交于 2020-08-07 02:55:02
前几天HBase出现了RIT告警,忽然发现发出告警的Region所属的表并不是我创建出来的,于是就想看看这些表是怎么来的。 一时也没什么头绪,就先看看这些表是什么时候创建出来的吧,然后再根据时间点看看有谁操作了数据库。 那么怎么看表的创建时间呢?desc看一下,也没有这个属性啊。再细想呢,hbase:meta表会记录元数据信息,而这些数据在创建时也会有timestamp属性,于是就有方法了。 查询hbase:meta表,rowkey就是表名(格式是namespace:table)看一下查到的数据的时间戳,然后把时间戳转为时间串。 此外,也可以到zookeeper中查看相关信息,使用get /hbase/table/表名(格式是namespace:table)查询到的ctime属性就是创建时间了。 来源: oschina 链接: https://my.oschina.net/u/4303145/blog/4355596

阿里云MSE 2.0重磅发布,乘风破浪加速企业微服务化进程

若如初见. 提交于 2020-08-07 00:36:23
发布会传送门 点击了解产品详情 众所周知,注册中心和配置中心是Spring Cloud 和Dubbo 等微服务架构中的重要组件,往往采用 ZooKeeper/Nacos/Eureka/Apollo 等开源方案自建,但因其依赖复杂、变更频繁,往往给客户带来的较高的建设和运维成本,同时,在 Hbase、Spark或Kafka 等大数据的环境下,会依赖 ZooKeeper 进行分布式系统的协调,此时,基于云上的托管服务,可以极大的降低运维复杂度,并提高应用可用性。相比开源自建,微服务引擎MSE 通过提供的云上监控和运维能力、多机房和多区域容灾能力、自动宕机恢复能力,实现了99.9%的可用性保障,此外,MSE提供了多打25项的开源优化,提升了注册和配置中心的易用性和性能。3分钟便能完成接入,每月最低50.16元,更是从操作和价格上降低了企业的接入成本。 据微服务引擎MSE产品经理子墚介绍,“我们除了提供注册和配置中心的托管能力,还围绕困扰开发者微服务治理过程遇到的各类运维难题,提供了包括金丝雀发布、离群实例摘除、服务鉴权、无损下线、限流降级和全链路流控的高阶微服务治理能力,极大的降低了微服务的运维难度,其组件型的产品理念还帮助客户实现了云上应用的自主可控。“目前,已有包括陆德科技、吉递换电、趣练习、企迈云商等来自出行、物联网、在线教育、新零售等行业的客户正通过 MSE 来提升运维效率

Hbase避免RowKey热点

烂漫一生 提交于 2020-08-06 22:21:29
RowKey设计不合理容易导致热点问题,即所有的访问集中在一个或几个结点之上,导致这些机器过载,性能下降。一些常用的避免热点的方法: 哈希 适用场景:1. 无需连续读取;2. RowKey较为复杂 具体方法:记原始Key为OriginalKey,则新的Rowkey = Substr(Md5(OriginalKey), 0, 3) + OriginalKey. 说明:MD5取4位做前缀用于保证负载均衡,OriginalKey也需要拼接上去,避免冲突 实例:龙源Key为查询语句拼接而成,如"2015-12-20_2015-12-20_bra:1-pla:12-cha:2",则生成的Rowkey为"9F38-2015-12-20_2015-12-20_bra:1-pla:12-cha:2" Reversing the key 适用场景:1. 无需连续读取;2. 固定长度或者数字类型的Rowkey 具体方法:将Rowkey倒序 说明:最后一位变化最频繁(数字的最低位)被移到开头,效果相当于哈希 实例:用户云聊天室,RowKey为roomID+msgID,由于roomID为单调增数字,最新的聊天室roomID最大,通常相对热度更高。若直接使用roomID,则最新的roomID集中在一个Region,产生热点。将roomID倒序后做为前缀,则最新的roomID被分散在不同的Region之中

大数据采集和抽取怎么做?这篇文章终于说明白了!

江枫思渺然 提交于 2020-08-06 10:52:14
本文来源于公众号【胖滚猪学编程】,转载请注明出处! 关于数据中台的概念和架构,我们在 大白话 六问数据中台 和 数据中台全景架构及模块解析!一文入门中台架构师! 两篇文章中都说明白了。从这一篇文章开始分享中台落地实战。 其实无论是数据中台还是数据平台,数据无疑都是核心中的核心,所以闭着眼睛想都知道数据汇聚是数据中台/平台的入口。纵观众多中台架构图,数据采集与汇聚都是打头阵的: 本文将从以下几个方面分享数据采集的方方面面: 一、企业数据来源 二、数据采集概念和价值 三、数据采集常用工具 四、数据采集系统设计原则 五、数据采集模块生产落地分享 有来源才能谈采集,因此我们先来归纳下企业中数据来源。 数据来源 企业中的数据来源极其多,但大都都离不开这几个方面: 数据库,日志,前端埋点,爬虫系统等。 数据库我们不用多说,例如通常用mysql作为业务库,存储业务一些关键指标,比如用户信息、订单信息。也会用到一些Nosql数据库,一般用于存储一些不那么重要的数据。 日志也是重要数据来源,因为日志记录了程序各种执行情况,其中也包括用户的业务处理轨迹,根据日志我们可以分析出程序的异常情况,也可以统计关键业务指标比如PV,UV。 前端埋点同样是非常重要的来源,用户很多前端请求并不会产生后端请求,比如点击,但这些对分析用户行为具有重要的价值,例如分析用户流失率,是在哪个界面,哪个环节用户流失了

分库分表后跨分片查询与Elastic Search

廉价感情. 提交于 2020-08-06 07:53:38
携程酒店订单Elastic Search实战:http://www.lvesu.com/blog/main/cms-610.html 为什么分库分表后不建议跨分片查询:https://www.jianshu.com/p/1a0c6eda6f63 分库分表技术演进(阿里怎么分):https://mp.weixin.qq.com/s/3ZxGq9ZpgdjQFeD2BIJ1MA 1.需求背景 移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的。比如 用户表:支付宝8亿,微信10亿。CITIC对公140万,对私8700万。 订单表:美团每天几千万,淘宝历史订单百亿、千亿。 交易流水表 2.选择方案 (1)NoSQL/NewSQL( 不选择 ) 选择RDBMS,不选择NoSQL/NewSQL,主要是因为NoSQL/NewSQL可靠性无法与RDBMS相提并论。RDBMS有以下几个优点: RDBMS生态完善; RDBMS绝对稳定; RDBMS的事务特性; 目前绝大部分公司的核心数据都是:以RDBMS存储为主,NoSQL/NewSQL存储为辅!互联网公司又以MySQL为主,国企&银行等不差钱的企业以Oracle/DB2为主!NoSQL比较具有代表性的是MongoDB,es。NewSQL比较具有代表性的是TiDB。 (2)分区( 不选择 ) 分区原理