06 2022 档案
摘要:一、Flume架构 1.1 Hadoop业务开发流程 1.2 Flume概述 flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 支持在日志系统中定制各类数据发送方,用于收集数据; 同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)
阅读全文
摘要:一、HBase索引案例(使用redis存储索引) 在这里是简单模拟将索引存到redis中,再通过先查询索引再将Hbase中的数据查询出来。 需要考虑的问题: 1、建立redis的连接,建立Hbase的连接 2、如何创建索引,即创建索引的key和value的设计 3、如何通过将查到的索引,去查
阅读全文
摘要:HBase 的基本 API,包括增、删、改、查等。 增、删都是相对简单的操作,与传统的 RDBMS 相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根据行键的范围来查询(Scan)。 HBase 不仅提供了这些简单的查询,而且提供了更加高级的过滤器(Filter)来查询。 过滤
阅读全文
摘要:二级索引的本质就是建立各列值与行键之间的映射关系 Hbase的局限性: HBase本身只提供基于行键和全表扫描的查询,而行键索引单一,对于多维度的查询困难。 所以我们引进一个二级索引的概念 常见的二级索引: HBase的一级索引就是rowkey,我们只能通过rowkey进行检索。如果我们相对hbas
阅读全文
摘要:HBase的RowKey设计 HBase是三维有序存储的,通过rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度可以对HBase中的数据进行快速定位。 HBase中rowkey可以唯一标识一行记录,在HBase查询的
阅读全文
摘要:HBase与Hive的对比 hive: 数据仓库:Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。 用于数据分析、清洗:Hive适用于离线的数据分析和清洗,延迟较高。 基于HDFS、MapReduce:Hive存储的数据依旧在DataN
阅读全文
摘要:一、HBase的读写流程 1.1 HBase读流程 Hbase读取数据的流程: 1)是由客户端发起读取数据的请求,首先会与zookeeper建立连接 2)从zookeeper中获取一个hbase:meta表位置信息,被哪一个regionserver所管理着 hbase:meta表:hbase的元数据
阅读全文
摘要:scan进阶使用 查看所有的命名空间 list_namespace 查看某个命名空间下的所有表 list_namespace_tables 'default' 修改命名空间,设置一个属性 alter_namespace 'bigdata17',{METHOD=>'set','author'=>'wy
阅读全文
摘要:Region信息观察 创建表指定命名空间 在创建表的时候可以选择创建到bigdata17这个namespace中,如何实现呢? 使用这种格式即可:‘命名空间名称:表名’ 针对default这个命名空间,在使用的时候可以省略不写 create 'bigdata17:t1','info','level'
阅读全文
摘要:一、hbase shell 命名 描述 语法 help ‘命名名’ 查看命令的使用描述 help ‘命令名’ whoami 我是谁 whoami version 返回hbase版本信息 version status 返回hbase集群的状态信息 status table_help 查看如何操作表 t
阅读全文
摘要:一、了解HBase 1.1 HBase概述 HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,用于存储海量的结构化或者半结构化,非结构化的数据 HBase是Hadoop的生态系统之一,是建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库,通过利用Hadoop的文件系
阅读全文
摘要:复习员工案例 sql:Hive实现按照指定格式输出每七天的消费平均数输出格式:2018-06-01~2018-06-07 12.29...2018-08-10~2018-08-16 80.67 数据如下:2018/6/1,102018/6/2,112018/6/3,112018/6/4,122018
阅读全文
摘要:员工信息表emp: 字段:员工id,员工名字,工作岗位,部门经理,受雇日期,薪水,奖金,部门编号英文名:EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,BONUS,DEPTNO create table emp( EMPNO int ,ENAME string ,JOB strin
阅读全文
摘要:1.1 hive的随机抓取策略 理论上来说,Hive中的所有sql都需要进行mapreduce,但是hive的抓取策略帮我们 省略掉了这个过程,把切片split的过程提前帮我们做了。 set hive.fetch.task.conversion=none; (一旦进行这么设置,select字段名也是
阅读全文
摘要:连续登陆问题 在电商、物流和银行可能经常会遇到这样的需求:统计用户连续交易的总额、连续登陆天数、连续登陆开始和结束时间、间隔天数等 数据: 注意:每个用户每天可能会有多条记录 id datestr amount 1,2019-02-08,6214.23 1,2019-02-08,6247.32 1,
阅读全文
摘要:一、MapReduce案例 1.1 好友推荐系统 固定类别推荐 莫扎特 >钢琴 >贝多芬 >命运交响曲 数据量 QQ好友推荐 > 每个QQ200个好友 5亿QQ号 解决思路: 需要按照行进行计算 将相同推荐设置成相同的key,便于reduce统一处理 数据: tom hello hadoop cat
阅读全文
摘要:一、MapReduce设计理念 map >映射 reduce >归纳 mapreduce必须构建在hdfs之上的一种大数据离线计算框架 在线:实时数据处理 离线:数据处理时效性没有在线那么强,但是相对也需要很快得到结果 mapreduce不会马上得到结果,他会有一定的延时(磁盘IO) 如果数据量小,
阅读全文
摘要:1.1 Hive窗口函数 普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。 简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。 开窗函数一般就是说的是over()函数,其窗口是由一个 OVER 子句 定义的多行记录 开窗函数一般分为
阅读全文
摘要:1、count(*)、count(1) 、count('字段名') 区别 从执行结果来看 count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL 最慢的 count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL 最快的 count(列名
阅读全文
摘要:1、Hive分区 在大数据中,最常见的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文件,这样每次操作一个个小的文件就会很容易了,同样的道理,在hive当中也是支持这种思想的,就是我们可以把大的数据,按照每天或者每小时切分成一个个小的文件,这样去操作小的文件就会容易很多了。 假如现在我们
阅读全文
摘要:2.1.1 创建数据库 1)创建一个数据库,数据库在HDFS上的默认存储路径是/hive/warehouse/*.db。 create database testdb; 2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法) create database if not
阅读全文
摘要:1、Hive基本概念 1.1 Hive简介 Hive本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更近一步说hive就是一个MapReduce客户端。 为什么使用Hive? 如果直接使
阅读全文
摘要:Hive(数据仓库建模工具之一) 1.1 数据仓库概述 数据仓库之父比尔·恩门,1991年提出 数据仓库就是为了解决数据库不能解决的问题而提出的。那么数据库无法解决什么样的问题呢?这个我们得先说说什么是OLAP和OLTP。(重点) 1.2 OLTP和OLAP(重点) 1.2.1 OLTP OLTP(
阅读全文