HBase之聚合函数
HBase之聚合函数
利用HBase的coprocessor特性实现聚合函数,添加coprocessor方式有两种
1、修改hbase-site.xml,添加如下内容
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.hadoop.hbase.coprocessor.AggregateImplementation</value>
</property>
2、通过调用API,让Table注册该Coprocessor
String coprocessClassName = "org.apache.hadoop.hbase.coprocessor.AggregateImplementation"; HBaseAdmin admin = new HBaseAdmin(HBaseConfiguration.create());
admin.disableTable(tableName);
HTableDescriptor htd = admin.getTableDescriptor(tableName);
htd.addCoprocessor(coprocessClassName);
admin.modifyTable(tableName, htd);
admin.enableTable(tableName);
相关聚合函数调用
/** 统计表行数*/
public static long rowCount(String tableName, String family) {
AggregationClient ac = new AggregationClient(configuration);
Scan scan = new Scan();
scan.addFamily(Bytes.toBytes(family));
scan.setFilter(new FirstKeyOnlyFilter());
long rowCount = 0;
try {
rowCount = ac.rowCount(Bytes.toBytes(tableName), new LongColumnInterpreter(), scan);
} catch (Throwable e) {
(e.getMessage(), e);
}
return rowCount;
}
/** 求和*/
public static double sum(String tableName, String family, String qualifier) { AggregationClient ac = new AggregationClient(configuration);
Scan scan = new Scan();
scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));
double sum = 0;
try {
sum = ac.sum(Bytes.toBytes(tableName), new DoubleColumnInterpreter(), scan);
} catch (Throwable e) {
(e.getMessage(), e);
}
return sum;
}
/** 求平均值*/
public static double avg(String tableName, String family, String qualifier) { AggregationClient ac = new AggregationClient(configuration);
Scan scan = new Scan();
scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));
double avg = 0;
try {
avg = ac.avg(Bytes.toBytes(tableName), new DoubleColumnInterpreter(), scan);
} catch (Throwable e) {
(e.getMessage(), e);
}
return avg;
}
注意sum、avg时候里面的列解释器ColumnInterpreter是DoubleColumnInterpreter,而不是HBase里面自带的LongColumnInterpreter。
DoubleColumnInterpreter是实现ColumnInterpreter接口的一个子类。
public class DoubleColumnInterpreter implements
ColumnInterpreter<Double, Double> {
@Override
public void write(DataOutput out) throws IOException {
}
@Override
public void readFields(DataInput in) throws IOException {
}
@Override
public Double getValue(byte[] colFamily, byte[] colQualifier, KeyValue kv)
throws IOException {
if (kv == null)
return null;
return Double.valueOf(new String(kv.getValue()));
}
@Override
public Double add(Double l1, Double l2) {
if (l1 == null ^ l2 == null) {
return l1 == null ? l2 : l1;
} else if (l1 == null) {
return null;
}
return l1 + l2;
}
@Override
public Double getMaxValue() {
return null;
}
@Override
public Double getMinValue() {
return null;
}
@Override
public Double multiply(Double o1, Double o2) {
if (o1 == null ^ o2 == null) {
return o1 == null ? o2 : o1;
} else if (o1 == null) {
return null;
}
return o1 * o2;
}
@Override
public Double increment(Double o) {
return null;
}
@Override
public Double castToReturnType(Double o) {
return o.doubleValue();
}
@Override
public int compare(Double l1, Double l2) {
if (l1 == null ^ l2 == null) {
return l1 == null ? -1 : 1; // either of one is null.
} else if (l1 == null)
return 0; // both are null
return pareTo(l2); // natural ordering.
}
@Override
public double divideForAvg(Double o, Long l) {
return (o == null || l == null) ? Double.NaN : (o.doubleValue() / l
.doubleValue());
}
}
将这个类打成jar包放到HBASE_HOME目录下lib目录下,然后重启hbase,遍可以调用相关聚合函数。
9.hive聚合函数,高级聚合,采样数据
9.hive聚合函数,⾼级聚合,采样数据本⽂主要使⽤实例对Hive内建的⼀些聚合函数、分析函数以及采样函数进⾏⽐较详细的讲解。
⼀、基本聚合函数数据聚合是按照特定条件将数据整合并表达出来,以总结出更多的组信息。
Hive包含内建的⼀些基本聚合函数,如MAX, MIN, AVG等等,同时也通过GROUPING SETS, ROLLUP, CUBE等函数⽀持更⾼级的聚合。
Hive基本内建聚合函数通常与GROUP BY连⽤,默认情况下是对整个表进⾏操作。
在使⽤GROUP BY时,除聚合函数外其他已选择列必须包含在GROUP BY⼦句中。
例:计算employee表中数据总条数hive>SELECT COUNT(*) FROM employee;例:计算employee表中数据总条数,sex_age必须包含在GROUP BY的⼦句中,否则报错!hive>SELECT sex_age, count(*) AS row_cnt FROM employee GROUP BY sex_age;那么有⼀个问题,如果我需要选择⼀⾏,但此时我不想对其进⾏GROUP BY那应该怎么办呢?这⾥有两个⽅法,⼀个是后⾯要讲到的使⽤分析函数,另⼀个就是使⽤COLLECT_SET函数,该函数将返回⼀个包含被GROUP BY排除的列的副本集合。
例:使⽤COLLECT_SET,其中的列不⽤进⾏GROUP BYhive>SELECT sex_age, count(*) AS row_cnt FROM employee GROUP BY sex_age;注:聚合函数在同⼀个语句中可以组合使⽤,但是不能嵌套使⽤,即不能在⼀个聚合函数中套⽤另⼀个聚合函数!例:组合使⽤AVG和COUNThive>SELECT sex_age.sex, AVG(sex_age.age) AS avg_age, count(*) AS row_cnt FROM employee GROUP BY sex_age.sex;例:聚合函数与CASE WHEN组合使⽤hive>SELECT SUM(CASE WHEN sex_age.sex='Male' THEN sex_age.age ELSE 0 END)/COUNT(CASE WHEN sex_age.sex='Male' THEN 1 ELSE NULL END) AS male_age_avg FROM employee;例:聚合函数与COALESCE和IF组合使⽤。
intel Hadoop方案介绍
英特尔Hadoop发行版结构化数据连接器 (Sqoop)
提供高效在Hadoop和结构化数据源(比如关系型数据库、数据文件)之间 双向传送数据的连接器组件。它将数据传输任务转换为分布式Map任务实 现,在传输过程中还可以实现数据转换等功能,完成传统数据源和Hadoop 之间ETL的任务。
基本特点: 使用MapReduce框架并行传送,效率高 可以实现增量同步和完全同步 提供扩充接口,实现复制转换
Map/Reduce 1.0.3
Zookeeper 3.4.5
大数据在中国
英特尔Hadoop发行版生态系统
6
英特尔Hadoop发行版分布式文件系统(HDFS)
针对大规模数据的高容错性和高吞吐的分布式 文件系统。它可以构建从几台到几千台由常规 服务器组成的集群中,并提供高聚合输入输出 的文件读写访问。 主要特点 使用低成本存储和服务器构建高可靠性和容错 性系统,数据自动复制 ,可自我修复 支持GB到TB级别大数据文件,提供PB级别的 存储容量 为流式数据访问优化,简化“一致性”,适合 一次写入、多次读 高聚合带宽,高并发访问 移动“计算”比移动“数据”更便宜 ,提供 同节点数据存放和计算能力
4
大数据在中国
英特尔Hadoop发行版
英特尔Hadoop发行版组件
稳定的企业级hadoop发行版 HBase改进和创新,为Hadoop提供实时数据处理能力 利用硬件新技术进行优化 针对行业的功能增强,应对不同行业的大数据挑战
Intel Hadoop Manager 2.2
安装、部署、配置、监控、告警和访问控制
Map(k,v) (k’,v’) Group (k’,v’) by k’ Reduce(k’, v’[]) v’’
hive练习题
Hive 练习题一、Hive 基础概念1. 简述 Hive 的主要用途。
2. 什么是 HiveQL?3. Hive 中有哪些主要的存储格式?4. 什么是 Hive 的元数据?5. 简述 Hive 的架构。
二、HiveQL 语法1. 列出 HiveQL 中创建表的常用语法。
2. 如何在 HiveQL 中创建外部表?3. 简述 HiveQL 中数据类型。
4. 列出 HiveQL 中常用的聚合函数。
5. 如何在 HiveQL 中使用 JOIN 操作?三、Hive 数据操作1. 如何在 Hive 中插入数据?2. 如何在 Hive 中更新数据?3. 如何在 Hive 中删除数据?4. 简述 Hive 中的分区和分桶。
5. 如何在 Hive 中进行数据备份和恢复?四、Hive 性能优化1. 列出 Hive 中常见的性能问题。
2. 如何优化 Hive 的查询性能?3. 什么是 Hive 的 MapReduce 执行引擎?4. 如何在 Hive 中使用 Tez 执行引擎?5. 如何使用 Hive 的资源管理器?五、Hive 实际应用1. 如何使用 Hive 进行数据清洗?2. 如何使用 Hive 进行数据挖掘?3. 如何使用 Hive 进行数据仓库构建?4. 如何使用 Hive 进行实时数据分析?5. 如何使用 Hive 进行大数据处理?六、Hive 与其他技术集成1. 如何将 Hive 与 Hadoop 集成?2. 如何将 Hive 与 Spark 集成?3. 如何将 Hive 与 Flink 集成?4. 如何将 Hive 与 HBase 集成?5. 如何将 Hive 与 Elasticsearch 集成?七、Hive 高级特性1. 什么是 Hive 的视图?2. 如何在 Hive 中使用存储过程?3. 什么是 Hive 的临时表?4. 如何在 Hive 中使用事务?5. 什么是 Hive 的安全特性?八、Hive 实践案例1. 如何使用 Hive 分析用户行为数据?2. 如何使用 Hive 进行电商数据分析?3. 如何使用 Hive 进行社交媒体数据分析?4. 如何使用 Hive 进行物联网数据分析?5. 如何使用 Hive 进行金融数据分析?九、Hive 数据模型1. 什么是 Hive 中的行模型?2. 什么是 Hive 中的列模型?3. 什么是 Hive 中的星型模型?4. 什么是 Hive 中的雪花模型?5. 如何在 Hive 中创建星型模型和雪花模型?十、Hive 元数据管理1. 什么是 Hive 的元数据仓库?2. 如何在 Hive 中管理元数据?3. 如何在 Hive 中查询元数据?4. 如何在 Hive 中修改元数据?5. 如何在 Hive 中备份和恢复元数据?十一、Hive 高级查询1. 如何在 Hive 中使用子查询?2. 如何在 Hive 中使用窗口函数?3. 如何在 Hive 中使用临时视图?4. 如何在 Hive 中使用用户定义函数(UDF)?5. 如何在 Hive 中使用用户定义聚合函数(UDAF)?十二、Hive 安全性和权限控制1. 什么是 Hive 的权限控制?2. 如何在 Hive 中设置用户权限?3. 如何在 Hive 中使用角色管理?4. 如何在 Hive 中使用 Kerberos 认证?5. 如何在 Hive 中使用安全模式?十三、Hive 与 HDFS1. 如何在 Hive 中管理 HDFS 文件?2. 如何在 Hive 中监控 HDFS 文件使用情况?3. 如何在 Hive 中优化 HDFS 文件存储?4. 如何在 Hive 中使用 HDFS 的压缩功能?5. 如何在 Hive 中处理 HDFS 中的大文件?十四、Hive 与 YARN1. 什么是 YARN?2. 如何在 Hive 中使用 YARN?3. 如何在 Hive 中配置 YARN?4. 如何在 Hive 中优化 YARN 资源使用?5. 如何在 Hive 中监控 YARN 资源分配?十五、Hive 与其他工具的集成1. 如何将 Hive 与 Apache Zeppelin 集成?2. 如何将 Hive 与 Apache Superset 集成?3. 如何将 Hive 与 Apache Spark 集成进行数据流处理?4. 如何将 Hive 与 Apache Kafka 集成进行实时数据处理?5. 如何将 Hive 与 Apache HBase 集成进行实时查询?十六、Hive 性能调优案例1. 如何优化 Hive 查询中的 JOIN 操作?2. 如何优化 Hive 查询中的 GROUP BY 操作?3. 如何优化 Hive 查询中的 ORDER BY 操作?4. 如何优化 Hive 查询中的 DISTINCT 操作?5. 如何优化 Hive 查询中的大数据量处理?十七、Hive 部署与维护1. 如何在集群中部署 Hive?2. 如何配置 Hive 的集群参数?3. 如何监控 Hive 集群的性能?4. 如何备份和恢复 Hive 集群?5. 如何进行 Hive 集群的升级和扩容?十八、Hive on Spark1. 什么是 Hive on Spark?2. 如何在 Spark 中使用 Hive?3. Hive on Spark 的优势是什么?4. 如何在 Hive on Spark 中优化性能?5. 如何在 Hive on Spark 中处理大数据集?十九、Hive on Tez1. 什么是 Hive on Tez?2. 如何在 Tez 中使用 Hive?3. Hive on Tez 的特点是什么?4. 如何在 Hive on Tez 中进行性能调优?5. Hive on Tez 与 Hive on Spark 的比较。
Hive基础(习题卷2)
Hive基础(习题卷2)第1部分:单项选择题,共88题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]在HBase系统架构中,HMaster主要负责( )A)Database和Region的管理工作B)Database和Master的管理工作C)Table和Region的管理工作D)Table和Master的管理工作答案:C解析:2.[单选题]以下关于数据仓库的叙述中,不正确的是( )A)数据仓库是相对稳定的B)数据仓库是反映历史变化的数据集合C)数据仓库的数据源可能是异构的D)数据仓库是动态的、实时的数据集合答案:D解析:3.[单选题]hive-env. sh文件中的配置信息包括( )。
A)HADOOP_HOMEB)HIVE_HOMEC)JAVA_HOMED)YARN答案:A解析:4.[单选题]在HBase系统架构中,HRegionServer主要负责相应用户I/O请求,向( )文件系统中读写数据A)HAFSB)HBFSC)HCFSD)HDFS答案:D解析:5.[单选题]在HiveCLI命令窗口中查看HDFS的命令是( )。
A)!IsB)dfsC)Ctrl+LD)cat.hivehistory答案:B解析:6.[单选题]下面命令中哪个不是创建表所使用的关键字?( )A)ExternalB)RowC)Location解析:7.[单选题]JVM重用可以使得JVM实例在同个作业中重新使用 N次。
N的值可以在配置文件()中进行配置。
A)hive default.xmlB)hive-site.xmlC)core-site.xmlD)mapred-site.xml答案:D解析:8.[单选题]Hive定义一个UDF函数时,需要继承以下哪个类?( )A)FunctionRegistryB)UDFC)MapReduceD)UDAF答案:B解析:9.[单选题]下列不属于Hive记录中默认分隔符( )A)\nB)^AC)^BD)\r\n答案:D解析:10.[单选题]以下关于Hive的设计特点的描述不正确的是( )A)支持索引,加快数据查询B)不支持不同的存储类型C)可以直接使用存储在Hadoop文件系统中的数据D)将元数据保存在关系数据库中答案:B解析:11.[单选题]比尔·恩门(Bill Inmon)在( )年出版了 Building the Data Warehouse一书,其中所提出的数据仓库(Data Warehouse)的定义被广泛接受。
数据库聚合函数
数据库聚合函数对表数据进⾏检索时,经常需要对结果进⾏汇总和计算,对数据查询的结果进⾏求总和、平均值、最⼤值、最⼩值的计算称为统计。
本⼩节讨论SELECT语句中⽤于数据统计的函数和⼦句。
1、聚合函数集合函数是在查询结果记录的列集上进⾏各种统计运算,运算的结果形成⼀条汇总记录。
为了进⼀步⽅便⽤户,增强检索功能,SQL提供了许多统计函数,主要有:SUM、AVG、COUNT、MAX、MIN。
(1)求和函数SUM与求平均值函数AVGSUM和AVG是数值型列值的求和与求平均值函数,它们只能⽤于数值型字段,⽽且忽略列值为NULL的记录。
语法格式如下:SUM/AVG([ALL | DISTINCT ] 字段名)其中,ALL和DISTINCT关键字⽤于指定求和范围。
ALL表⽰对所选字段的所有值求和,DISTINCT表⽰只计算不同值的和。
如果有许多重复值,则这些值只计算⼀次。
这⾥系统默认为ALL设置。
表达式通常是⼀个数值型字段,也可以是由常量、字段(列)、函数或者运算符组成的⼀个数值型表达式。
练习1:计算01系部开设课程的学分平均值。
练习2:计算李涛⽼师所授课程的学分总和。
使⽤聚合函数作为SELECT的选择列时,如果不为其指定列标题,则系统将对该列输出标题“⽆列名”。
(2)最⼤值函数MAX与最⼩值函数MINMAX和MIN函数分别⽤来返回指定列表达式中的最⼤值和最⼩值,忽略列值为NULL的记录,列表达式中的列可以是任何可排序的类型。
语法格式如下:MAX| MIN([ALL | DISTINCT ] 字段名)其中,ALL和DISTINCT含义同SUM函数。
表达式可以是由常数、字段名(列)以及函数构成的表达式,其数据类型可以是数值型、字符串型和⽇期时间型等。
练习3:找出信息技术类课程中报名⼈数最多的是多少⼈(3)计数函数COUNTCOUNT函数⽤于统计查询结果集中满⾜条件的记录的个数(⾏数),其语法格式如下:COUNT([ [ALL | DISTINCT ] expression ] | *)语法上,“*”⽤于统计所有记录的个数(总⾏数),ALL⽤于统计指定列的列值⾮空的记录个数,DISTINCT⽤于统计指定列的列值⾮空且不重复的记录个数。
MySQL聚合函数(一)聚合(组合)函数概述
MySQL聚合函数(⼀)聚合(组合)函数概述 MySQL版本:5.7+ 本节介绍对值的集合进⾏操作的组合(聚合)函数。
翻译⾃:⼀、MySQL 5.7中的聚合函数 MySQL 5.7中的聚合函数如下: 除⾮另有说明,否则组合函数会忽略NULL值。
如果在不包含Group By⼦句的语句中使⽤组合函数,就等效于对所有⾏进⾏分组。
(个⼈理解是,结果总是只有⼀⾏。
)关于这点的更多信息,后⾯的⼩节“MySQL处理Group By的⽅式”会讲到。
聚合函数中,⽅差和标准差函数会对数值参数返回DOUBLE值。
SUM()和AVG()对精确值参数(integer或DECIMAL)返回DECIMAL 值,⽽对近似值参数(FLOAT或DOUBLE)返回DOUBLE值。
时间类型的参数对SUM()和AVG()⽆效。
它们会把时间类型的值转换成数字,丢弃第⼀个⾮数字字符后的所有信息)。
如果要解决这个问题,先要将时间类型的值转换为合适的数值单元,在执⾏聚合操作后,再转换回时间值。
如下所⽰:SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(time_col))) FROM tbl_name;SELECT FROM_DAYS(SUM(TO_DAYS(date_col))) FROM tbl_name; 诸如SUM()和AVG()这样需要数值参数的函数,会对⾮数值参数做必要的强制转换。
⽽对于SET或ENUM值,强制转换操作会导致使⽤基础数值。
BIT_AND(),BIT_OR()和BIT_XOR()聚合函数执⾏位操作。
它们需要BIGINT(64位整数)参数并返回BIGINT值。
其他类型的参数将转换为BIGINT并可能发⽣截断。
⽽在MySQL 8.0中,允许位操作采⽤⼆进制字符串类型参数(BINARY,VARBINARY和BLOB类型),详见其⼿册的12.12节。
⼆、聚合函数详解 2.1 AVG()AVG([DISTINCT] expr) 函数返回expr的平均值。
hbase~基础知识梳理
hbase~基础知识梳理HBase的组成在这⾥,让我们了解下 HBase 都有哪些模块,以及⼤致的⼯作流程。
前⾯我们提到过 HBase 也是构建于 HDFS 之上,这是正确的,但也不是完全正确。
HBase 其实也⽀持直接在本地⽂件系统之上运⾏,不过这样的 HBase 只能运⾏在⼀台机器上,那么对于分布式⼤数据的环境是没有意义的(这也是所谓的HBase 的单机模式)。
⼀般只⽤于测试或者验证某⼀个 HBase 的功能,后⾯我们在详细的介绍 HBase 的⼏种运⾏模式。
这⾥我们只要记得在分布式的⽣产环境中,HBase 需要运⾏在 HDFS 之上,以 HDFS 作为其基础的存储设施。
HBase 上层提供了访问的数据的 Java API 层,供应⽤访问存储在 HBase 的数据。
在 HBase 的集群中主要由 Master 和 Region Server 组成,以及 Zookeeper,具体模块如下图所⽰。
MasterHBase Master ⽤于协调多个 Region Server,侦测各个 Region Server 之间的状态,并平衡 Region Server 之间的负载。
HBase Master 还有⼀个职责就是负责分配 Region 给 Region Server。
HBase 允许多个 Master 节点共存,但是这需要 Zookeeper 的帮助。
不过当多个 Master 节点共存时,只有⼀个 Master 是提供服务的,其他的 Master 节点处于待命的状态。
当正在⼯作的 Master 节点宕机时,其他的 Master 则会接管 HBase 的集群。
Region Server对于⼀个 Region Server ⽽⾔,其包括了多个 Region。
Region Server 的作⽤只是管理表格,以及实现读写操作。
Client 直接连接 Region Server,并通信获取HBase 中的数据。
hbase聚合函数
hbase聚合函数
HBase是一个分布式、面向列的非关系型数据库,它通常用于存储结构化数据。
由于其非关系型的特性,HBase并不直接支持传统关系型数据库中的聚合函数,比如SUM、AVG、COUNT等。
然而,我们可以通过编程的方式实现类似的聚合操作。
一种常见的方法是使用HBase的MapReduce功能。
我们可以编写MapReduce作业来扫描HBase表中的数据,并在Map和Reduce阶段执行聚合操作。
在Map阶段,我们可以将HBase表中的数据转换成键值对,然后在Reduce阶段对这些数据进行聚合计算。
这种方式虽然可以实现聚合操作,但需要编写和管理MapReduce作业,相对较为复杂。
另一种方法是使用Apache HBase的集成工具,比如Apache Phoenix。
Phoenix提供了类似于SQL的接口,可以直接在HBase表上执行SQL查询,包括聚合函数。
通过Phoenix,我们可以像在关系型数据库中一样使用SUM、AVG、COUNT等聚合函数来对HBase表进行查询和聚合操作。
除了以上方法,还有一些第三方工具和框架,比如Apache
Drill、Apache Spark等,它们也可以与HBase集成,并提供类似于SQL的接口和聚合函数的支持。
总的来说,虽然HBase本身并不直接支持传统的聚合函数,但通过使用MapReduce、集成工具或第三方框架,我们可以实现类似的聚合操作。
选择合适的方法取决于具体的需求和场景。
Hbase基础(九):Kylin概述
Hbase基础(九):Kylin概述1 Kylin定义Apache Kylin是⼀个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接⼝及多维分析(OLAP)能⼒以⽀持超⼤规模数据,最初由eBay Inc开发并贡献⾄开源社区。
它能在亚秒内查询巨⼤的Hive表。
2 Kylin特点Kylin的主要特点包括⽀持SQL接⼝、⽀持超⼤规模数据集、亚秒级响应、可伸缩性、⾼吞吐率、BI⼯具集成等。
1)标准SQL接⼝:Kylin是以标准的SQL作为对外服务的接⼝。
2)⽀持超⼤数据集:Kylin对于⼤数据的⽀撑能⼒可能是⽬前所有技术中最为领先的。
早在2015年eBay的⽣产环境中就能⽀持百亿记录的秒级查询,之后在移动的应⽤场景中⼜有了千亿记录秒级查询的案例。
3)亚秒级响应:Kylin拥有优异的查询相应速度,这点得益于预计算,很多复杂的计算,⽐如连接、聚合,在离线的预计算过程中就已经完成,这⼤⼤降低了查询时刻所需的计算量,提⾼了响应速度。
4)可伸缩性和⾼吞吐率:单节点Kylin可实现每秒70个查询,还可以搭建Kylin的集群。
5)BI⼯具集成Kylin可以与现有的BI⼯具集成,具体包括如下内容。
ODBC:与Tableau、Excel、PowerBI等⼯具集成JDBC:与Saiku、BIRT等Java⼯具集成RestAPI:与JavaScript、Web⽹页集成Kylin开发团队还贡献了Zepplin的插件,也可以使⽤Zepplin来访问Kylin服务。
3 Kylin架构1)REST ServerREST Server是⼀套⾯向应⽤程序开发的⼊⼝点,旨在实现针对Kylin平台的应⽤开发⼯作。
此类应⽤程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获取⽤户权限等等。
另外可以通过Restful接⼝实现SQL查询。
2)查询引擎(Query Engine)当cube准备就绪后,查询引擎就能够获取并解析⽤户查询。
Hbase简介
目录1、前言........................................................................................ 错误!未定义书签。
2、Hbase的体系结构................................................................. 错误!未定义书签。
2.1 HBase的服务器体系结构......................................... 错误!未定义书签。
2.1.1 HBase的服务器的构架.................................. 错误!未定义书签。
2.1.2 数据的更新...................................................... 错误!未定义书签。
2、2 HRegion和HMaster的关系 .................................. 错误!未定义书签。
2.2.1 HMaster的主要任务....................................... 错误!未定义书签。
2.2.2 HMaster的管理............................................... 错误!未定义书签。
2.3逻辑视图........................................................................ 错误!未定义书签。
2.3.1 Row Key .......................................................... 错误!未定义书签。
2.3.2 列族.................................................................. 错误!未定义书签。
