快:通过query的执行优化、Cache等技术,Spark能够对任意数据量的数据进行快速分析。...数据入库:借助于Spark Streaming,能够做流式ETL以及增量入库到HBase/Phoenix。...在线查询:HBase/Phoenix能够对外提供高并发的在线查询 离线分析及算法:如果HBase/Phoenix的数据需要做复杂分析及算法分析,可以使用Spark的SQL、机器学习、图计算等 典型业务场景...性能:流吞吐 20万条/秒 查询能力:HBase自动同步到solr对外提供全文检索的查询 一站式解决方案:Spark服务原生支持通过SQL读取HBase 数据能力进行ETL,Spark + HBase...Spark同时支持事中及事后风控 Spark友好对接HBase、RDS、MongoDB多种在线库 典型业务场景:构建数据仓库(推荐、风控) ?
SQL-on-redis:rediSQL 可能最早让sql落到redis上的,应该是spark sql 吧,让redis作为spark的rdd,但这里说到的是另外一个通过module实现的sql on...SQL-on-HBase: Phoenix Phoenix是构建在HBase上的一个SQL层,是内嵌在HBase中的JDBC驱动,能够让用户使用标准的JDBC来操作HBase。...Phoenix使用JAVA语言进行编写,其查询引擎会将SQL查询语句转换成一个或多个HBase Scanner,且并行执行生成标准的JDBC结果集。...如果需要对HBase进行复杂的操作,那么应该使用Phoenix,其会将SQL语句转换成HBase相应的API。...无论是使用REST接口,命令行还是JDBC,任何客户端都可以使用SQL在Elasticsearch中实现搜索和聚合数据。
在Spark1.5的默认情况下,TungSten内存管理器通过微调在内存中的数据结构布局提供了更快速的处理能力。...使用H2O的最佳方式是把它作为R环境的一个大内存扩展,R环境并不直接作用于大的数据集,而是通过扩展通讯协议例如REST API与H2O集群通讯,H2O来处理大量的数据工作。...MapReduce的世界的开发者们在面对DataSet处理API时应该有宾至如归的感觉,并且将应用程序移植到Flink非常容易。在许多方面,Flink和Spark一样,其的简洁性和一致性使他广受欢迎。...Drill使用ANSI 2003 SQL的查询语言为基础,所以数据工程师是没有学习压力的,它允许你连接查询数据并跨多个数据源(例如,连接HBase表和在HDFS中的日志)。...在他的特性更新方面包括扫描器更新,保证提高性能,使用HBase作为流媒体应用像Storm和Spark持久存储的能力。HBase也可以通过Phoenix项目来支持SQL查询,其SQL兼容性在稳步提高。
虽说人生没有白走的路,新的一年来到,会的还是原来的知识,人的身价就摆在那里,无论怎么折腾,也不会拿到更好的offer。所以在年轻还有拼劲的时候多学学知识,寻找自身的不足,查漏补缺非常重要。...5、Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,十分适合数据仓库的统计分析...9、Flume Flume是一款高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方...14、phoenix phoenix是用Java编写的基于JDBC API操作HBase的开源SQL引擎,其具有动态列、散列加载、查询服务器、追踪、事务、用户自定义函数、二级索引、命名空间映射、数据收集...、Spark RDD、spark job部署与资源分配、Spark shuffle、Spark内存管理、Spark广播变量、Spark SQL、Spark Streaming以及Spark ML等相关知识
从图中可以了解,平均每天的增长量为1亿+,峰值为5亿,每张主表有8+张索引表,所以是多维度生成报表。其中主要应用到了Phoenix的二级索引的功能,通过二级索引做一些多维度的查询和分析。...图中显示单表的压缩后最大为80T+,单次查询结果集大。由此可以看出Phoenix在这种简单查询的多维度大数据的场景中已经很成熟,是一个不错的选择。 ?...在一个HBase的场景中把数据写进来,再把冷数据放出存储低架的存储介质中,把热数据放在SSD中即冷热分离存储,再上面所做的分析功能也是通过二级索引来完成前缀+时间范围的扫描。...做一些优化最终生成物理执行计划从而转化成RDD到Spark Runtime上执行。...此外,由于HBase的API和Phoenix的API是不一样的,于是Phoinix社区也做了Spark SQL分析Phoenix表数据的一套插件,其做法和Spark分析HBase的插件是一样的,均是通过实现一套
提供标准的SQL以及完备的ACID事务支持 通过利用HBase作为存储,让NoSQL数据库具备通过有模式的方式读取数据,我们可以使用SQL语句来操作HBase,例如:创建表、以及插入数据、修改数据、删除数据等...Phoenix不会影响HBase性能,反而会提升HBase性能 Phoenix将SQL查询编译为本机HBase扫描 确定scan的key的最佳startKey和endKey 编排scan的并行执行 将WHERE...Phoenix只是在HBase之上构建了SQL查询引擎(注意:我称为SQL查询引擎,并不是像MapReduce、Spark这种大规模数据计算引擎)。...HBase的定位是在高性能随机读写,Phoenix可以使用SQL快插查询HBase中的数据,但数据操作底层是必须符合HBase的存储结构,例如:必须要有ROWKEY、必须要有列蔟。...因为有这样的一些限制,绝大多数公司不会选择HBase + Phoenix来作为数据仓库的开发。而是用来快速进行海量数据的随机读写。这方面,HBase + Phoenix有很大的优势。
一.前言 MapReduce早已经对接了HBase,以HBase作为数据源,完成批量数据的读写。...比如以下常见的应用场景: 以HBase作为存储,通过Spark对流式数据处理。 以HBase作为存储,完成大规模的图或者DAG的计算。...通过Spark对HBase做BulkLoad操作 同Spark SQL对HBase数据做交互式分析 2.社区相关的工作 目前已经有多种Spark对接HBase的实现,这里我们选取三个有代表的工作进行分析...同时通过scratch来构建RDD,也实现了许多常见的查询优化。...优点 支持安全 通过get或者scan直接生成rdd, 并可以使用API完成更高级的功能 支持组合rowkey 支持多种bulk操作 为spark和 spark streaming提供相似的API 支持谓词下推优化
组件层 我们有5中组件,NewSQL(Phoenix)、时序OpenTSDB、时空GeoMesa、图JanusGraph及Cube的Kylin,及提供HTAP能力的Spark。...这里简单描述几个,如下: NewSQL-Phoenix 客户还是比较喜欢用SQL的,Phoenix会支持SQL及二级索引,在超过1T的数据量的情况下,对事务的需求就很少(所以我们并没有支持事务);二级索引是通过再新建一张...在HTAP-Spark这部分主要介绍一下RDD API、 SQL、直接访问HFile,它们的特点如下: RDD API具有简单方便,默认支持的特点,但高并发scan大表会影响稳定性; SQL支持算子下推...这是一个大数据控公司,它大约有200T+的数据量,将HBase数据 (在线实时大数据存储)作为主数据库,先用HBase做算法训练,再用HBase SQL出报表,另外做了一套ECS进行实时查以便与客户之间进行数据交换...先离线建好Cube再把数据同步到HBase中,实时数据通过Blink对接进行更新,数据量在可达20T左右。
了解其他Hadoop生态系统组件以及HBase,将有助于更好地理解大数据领域,并利用Phoenix及其最佳可用特性。在本章中,我们将概述这些组件及其在生态系统中的位置。 ?...可以将NameNode配置为高可用性,备用节点中的备份节点和主节点作为活动节点。 Datanode: Datanode是集群中实际存储数据(HDFS块)的机器。在HDFS中,数据块分布在网络上。...Pig通过使用它的Pig引擎组件将Pig拉丁脚本转换成MapReduce任务,这样它就可以在YARN中执行,从而访问存储在HDFS中的单个数据集。...HBase用作Hadoop的主数据库,也称为Hadoop的数据库。Phoenix作为Hbase的SQL接口,在hadoop相关的大数据分析中发挥着至关重要的作用。...在幕后,Phoenix将SQL查询编译为HBase本机调用,并并行运行扫描或计划进行优化。
并支持通过SQL方式将需要的数据导入至云数仓PGSQL。若有多个数据源可配置多个DataX任务进行数据接入。...对比如下 [w5fh058qsj.png]也可以不使用实时计算框架,直接将数据存入上述DB中,进行聚合查询。...业务聚合处理: 简单的可以使用Phoenix写SQL直接进行,支持跨多表聚合,复杂的聚合操作可使用spark进行处理; 事务性:HBASE支持对数据进行修改; 扩展与运维:EMR支持一键扩容,可提供运维...对于每一个检查点,sink开始一个事务,然后将所有的接收到的数据都添加到事务中,并将这些数据写入到sink系统,但并没有提交(commit)它们。...更多的,2PC sink不断的将数据写入到sink系统中,而WAL写模型就会有之前所述的问题。
HDSF通过那个中间组件去存储数据HDFS跨节点怎么进行数据迁移HDFS的数据-致性靠什么保证?...NameNode存数据吗?使用NameNode的好处HDFS中DataNode怎么存储数据的直接将数据文件上传到HDFS的表目录中,如何在表中查询到该数据?...Mapper端进行combiner之后,除了速度会提升,那从Mapper端到Reduece端的数据量会怎么变?map输出的数据如何超出它的小文件内存之后,是落地到磁盘还是落地到HDFS中?...的读写缓存在删除HBase中的一个数据的时候,它什么时候真正的进行删除呢?...为什么要大合并既然HBase底层数据是存储在HDFS上,为什么不直接使用HDFS,而还要用HBaseHBase和Phoenix的区别HBase支持SQL操作吗HBase适合读多写少还是写多读少HBase
使用H2O的最佳方式是把它作为R环境的一个大内存扩展,R环境并不直接作用于大的数据集,而是通过扩展通讯协议例如REST API与H2O集群通讯,H2O来处理大量的数据工作。...MapReduce的世界的开发者们在面对DataSet处理API时应该有宾至如归的感觉,并且将应用程序移植到Flink非常容易。在许多方面,Flink和Spark一样,其的简洁性和一致性使他广受欢迎。...在他的特性更新方面包括扫描器更新,保证提高性能,使用HBase作为流媒体应用像Storm和Spark持久存储的能力。HBase也可以通过Phoenix项目来支持SQL查询,其SQL兼容性在稳步提高。...通过使用HBase作为底层存储层,opentsdb很好的支持分布与系统可靠性的特点。...用户不与HBase的直接互动;而数据写入系统是通过时间序列的守护进程(TSD)来管理,它可以方便的扩展用于需要高速处理数据量的应用场景。
JSON,XML和其他模型也可以通过例如Nifi、Hive进行转换和存储,或者以键-值对形式原生存储,并使用例如Hive进行查询。还可以通过JSONRest使用自定义实现来支持JSON和XML。...对象存储可用于存储大量数据所在的HBase存储文件或作为备份目标。 支持的功能 1.3.1....可以使用快照导出数据,也可以从正在运行的系统导出数据,也可以通过离线直接复制基础文件(HDFS上的HFiles)来导出数据。 Spark集成 Cloudera的OpDB支持Spark。...存在与Spark的多种集成,使Spark可以将表作为外部数据源或接收器进行访问。用户可以在DataFrame或DataSet上使用Spark-SQL进行操作。...目录是用户定义的json格式。 HBase数据帧是标准的Spark数据帧,并且能够与任何其他数据源(例如Hive,ORC,Parquet,JSON等)进行交互。
GlusterFS 通过RDMA和TCP/IP方式将分布到不同服务器上的存储空间汇集成一个大的网络化并行文件系统。...35 Phoenix 是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询。Phoenix完全使用Java编写,并且提供了一个客户端可嵌入的JDBC驱动。...37 Hive 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。...它可以作为一款独立产品来下载,又是Cloudera的商业大数据产品的一部分。Cloudera Impala 可以直接为存储在HDFS或HBase中的Hadoop数据提供快速、交互式的SQL查询。...44 Shark 即Hive on Spark,本质上是通过Hive的HQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的metadata获取数据库里的表信息,实际HDFS上的数据和文件
Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。...put the SQL back in NoSQL Phoenix完全使用Java编写,作为HBase内嵌的JDBC驱动。...HBase的查询工具有很多,如:Hive、Tez、Impala、Spark SQL、Phoenix等。...Phoenix通过以下方式使我们可以少写代码,并且性能比我们自己写代码更好: · 将SQL编译成原生的HBase scans。...GeoMesa支持将海量的时空数据存储到Accumulo,HBase,Google Bigtable和Cassandra数据库中,并提供高效的索引来读取、查询这些数据。
Spark不仅避免了需要MapReduce和Tez,还可能避免了Pig之类的工具。此外,Spark的RDD/DataFrames API并不是进行抽取、转换和加载(ETL)及其他数据转换的糟糕方法。...与此同时,Tableau及其他数据可视化厂商已宣布打算直接支持Spark。 2. Hive Hive让你可以对文本文件或结构化文件执行SQL查询。...HBase/Phoenix HBase是一种完全可以接受的列式数据存储系统。它还内置到你常用的Hadoop发行版中,它得到Ambari的支持,与Hive可以顺畅地连接。...如果你添加Phoenix,甚至可以使用常用的商业智能工具来查询HBase,好像它就是SQL数据库。...如果你通过Kafka和Spark或 Storm获取流数据,那么HBase就是合理的着陆点,以便该数据持久化,至少保持到你对它进行别的操作。 使用Cassandra之类的替代方案有充分理由。
4、Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,十分适合数据仓库的统计分析...6、ZooKeeper ZooKeeper是Hadoop和Hbase的重要组件,是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组件服务等,在大数据开发中要掌握ZooKeeper...8、phoenix phoenix是用Java编写的基于JDBC API操作HBase的开源SQL引擎,其具有动态列、散列加载、查询服务器、追踪、事务、用户自定义函数、二级索引、命名空间映射、数据收集、...10、Flume Flume是一款高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方...、Spark RDD、spark job部署与资源分配、Spark shuffle、Spark内存管理、Spark广播变量、Spark SQL、Spark Streaming以及Spark ML等相关知识
领取专属 10元无门槛券
手把手带您无忧上云