首页 文章 精选 留言 我的

精选列表

搜索[阿里巴巴],共6867篇文章
优秀的个人博客,低调大师

阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

导读:新版本主要有三大变化:同步了OpenJDK 上游社区 jdk8u222-ga 的最新更新;带来了正式的 feature:G1ElasticHeap;发布了用户期待的 Windows 实验版本 Experimental Windows version。 距离 Dragonwell JDK 第一个正式版本 8.0.0-GA 发布已经过去 3 个月了,项目在 Github 上的 stars 继续攀升达到了 1900。今天我们带来了最新版本 8.1.1-GA 的发布,包含了全新的特性和更新。详情见下文。 龙井 8.1.1-GA 的新变化 新版本里我们同步了 OpenJDK 上游社区 jdk8u222-ga 的最新更新,带来了上游稳定版本的最新安全更新和补丁。 在 8.0.0-GA 发布的时候,我们介绍了 Dragonwell 第三个新特性

优秀的个人博客,低调大师

阿里巴巴飞天大数据架构体系与Hadoop生态系统

很多人问阿里的飞天大数据平台、云梯2、MaxCompute、实时计算到底是什么,和自建Hadoop平台有什么区别。 先说Hadoop 什么是Hadoop?Hadoop是一个开源、高可靠、可扩展的分布式大数据计算框架系统,主要用来解决海量数据的存储、分析、分布式资源调度等。Hadoop最大的优点就是能够提供并行计算,充分利用集群的威力进行高速运算和存储。 Hadoop的核心有两大板块:HDFS和MapReduce。 HDFS全称Hadoop Distributed File System,是一种分布式文件存储系统。分布式文件系统是指将固定于某个地点的某个文件系统,扩展到任意多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上

优秀的个人博客,低调大师

阿里巴巴瑾谦/沐远:云HBaseSQL及分析Phoenix&Spark

以下是精彩视频内容整理: HBase上的SQL&分析 Hbase上的分析从使用的方式上来分类可以分为NATIVE和SQL两类,而二者均存在小数量简单分析和大数据量复杂分析两种场景。但无论在NATIVE和SQL上做小数据量分析或者大数据量分析均需解决HBASE的一些根本问题,比如HBASE表数据热点问题,易用性以及适用更多场景。 SQL ON HBASE方案:ALI-PHOENIX HBase上的SQL层HBASE上的SQL层Phoenix 被大家更多使用的一个特性是二级索引。要使用Phoenix首先需要了解它分为Client端和server端,server端是以一个jar包的形式部署在HBASE的内部。server端对meta表的操作和二级索引的读写等一系列操作都是通过HBASE的ZOOKEEPER完成的。二级索引更为大家关注的是Phoenix的二级索引。目前Phoenix的二级索引主要被大家使用的是GLOBAL INDEX和LOCAL INDEX。GLOBAL INDEX目前为止使用场景比LOCAL INDEX更为广泛,它实质上是一张HBASE表,即把一张倒开索引单独存到另一张HBASE表中。由于这种设计的特性使得它更多的使用与写少多读的场景。当然由于GLOBAL INDEX是一张单独的表所以它可以使用一些主表的特性,比如可以使用加盐,指定压缩等特性。而LOCAL INDEX是在元数据表中多加了一个列数去存储的。由于LOCAL INDEX和元数据表是存在一张表中,故它更多的适用于写多读少的场景中,并且该特性使得主表的数据量不能过大。GLOBAL INDEX和LOCAL INDEX相比LOCAL INDEX的网络开销比较小,故当索引表数据量适量的情况下LOCAL INDEX的性能更高。GLOBAL INDEX和LOCAL INDEX的元数据均由Phoenix管理,而Phoenix的单独管理着一套元数据信息,这些元数据信息均存在SYSTEM.CATALOG的HBASE表中。目前索引创建支持同步和异步两种方式同步索引数据,同步创建索引的意思是若当前的表有数据那么创建索引的过程就是一个同步索引数据的一个过程,它会把所有的主表的数据翻译成索引数据,全部同步完成以后的再将索引表的状态置成目标状态,这样一个过程称之为同步创建索引。异步创建索引主要是针对数据量大的场景,先执行create index创建索引表相关的元数据,再通过MR同步索引数据,该过程称之为异步创建索引。目前为止Phoenix4.12支持了检查主表和索引表数据一致工具。由于前面所说一些列限制,就导致Phoenix创建所以的时候不能超过一定数量,目前索引个数默认不建议超过10个。目前为止LOCAL INDEX的实现方案不太成熟,故不推荐使用。索引中的Row Key格式索引中的ROW KEY格式分为两种,一种为Local index Row Key格式和Global index Row Key格式,二者的数据均存于HBASE表中。对于Local index Row Key格式,由于Local index是存在于原表中的,也就相当于把元数据的value数据变成索引的Key,而Key的编码格式均是第一个为REGION START KEY,这样的设计可以使索引数据和元数据更贴近。与Local index Row Key格式不同Global index Row Key格式是另一种形式,因为Global index是存在另一张表中的,并且它可以继承主表的一些属性,比如说主表加的盐,放在格式的最前面可以解决数据的热点问题,另一方面放在最前面可以解决加盐数据的加码和解码问题。二级索引单条写性能测试结果下面是一条二级索引单条写性能测试的数据,配置信息为:云HBASE 1.4.4.3&ALi-Phoenix4.12,4核8G SSD(2个RS),主表SALT_BUCKETS=4,GLOBLA INDEX SALT_BUCKETS=4,下图为测试结果。从上表中可以看出,主表写入性能随着二级索引表增多线性降低,无索引表和8个索引表的主表写性能相差6-7倍,而随着索引表的增多,GLOBAL INDEX的写性能优于LOCAL INDEX的。二级索引案例下面通过两个二级索引的案例来加深对二级索引使用的了解。上图为集团内部的一个场景,该案例是要对商品做一个报表。从图中可以了解,平均每天的增长量为1亿+,峰值为5亿,每张主表有8+张索引表,所以是多维度生成报表。其中主要应用到了Phoenix的二级索引的功能,通过二级索引做一些多维度的查询和分析。图中显示单表的压缩后最大为80T+,单次查询结果集大。由此可以看出Phoenix在这种简单查询的多维度大数据的场景中已经很成熟,是一个不错的选择。案例二就是物联网,它的特点就是数据量大,写多读少,它的数据来自多个传感器,它每天的写入数据都是5亿+的数据量。在一个HBase的场景中把数据写进来,再把冷数据放出存储低架的存储介质中,把热数据放在SSD中即冷热分离存储,再上面所做的分析功能也是通过二级索引来完成前缀+时间范围的扫描。 Spark on HBase 简介众所周知Spark 和 HBase是大数据目前比较流行的两款产品。HBase可以划分在OLTP这个领域,它有基于Row key点查性能好,能够自定sharding,高可用的特性。而Spark可以划分在OLAP领域,它具有通用的DAG分析引擎,能够做高性能的内存迭代计算,完善SQL优化层的一系列特点。这两款产品的结合映射成了目前比较流行的一类数据库HTAP,它既具备OLAP的功能又具备OLTP的功能。目前社区做Spark on HBase的都主要做以下三方面的功能和优化:Spark SQL、Dataset、DataFrame API支持,支持分区裁剪、列裁剪、谓词下推等优化,Cache HBase的Connections。下面我们从Spark和HBase的部署层面以及执行层面来看如何用Spark来分析HBase上的数据。 当要启动一个Spark作业的时候首先需要一个driver,而driver中会做一些运算如Compiler,Analyzer,Optimizer,Planner,并最终生成一个执行计划,而执行计划会分为多个并且每一个都对应一个task,而task会下发到实际的资源上执行。而HBase是通过RegionServer来部署的,而每个RegionServer负责若干个Region的读和写。架构我们了解的Spark on HBase的框架后,接下来深入了解如何在Spark SQL层面上来支持访问HBase。到目前为止比较好的做法就是为Spark SQL添加HBase Source。下面讲述一下Spark SQL的运行流程,首先收到一个SQL Query,通过Catalog识别他的Unresolved Logical Plan生成Logical Plan,再由Logical Optimization做一些优化最终生成物理执行计划从而转化成RDD到Spark run time上执行。集成HBase Source主要会做三方面的事情,一是需要HBase TableCatalog完成SQL schema到HBase Column映射,二是需要HBaseRelation来完成Extends PrunedFilteredScan requiredColumns,三是需要HBaseScanRDD来分区裁剪做一些location的计算。下面将介绍一下相关的优化:分区裁剪、谓词下推、列裁剪。分区裁剪:只去访问扫描数据的region,且扫描最少的数据。列裁剪:只去Scan需要的列出来。谓词下推:将filter下推到HBase层面去做。性能对比及使用在没有Spark SQL这一层面的HBase集成是,大部分人使用的是Native HBaseRDD来scan HBase的数据,当有Spark SQL的时候可以用DataFrame API来分析数据。通过执行一个catalog的表做简单的select及filter操作后count,对比二者的数据可以看出Spark SQL所需时间要远少于Native HBaseRDD。上图为原始HBaseRDD的API使用使用方式。生成该HBaseRDD,可以做map,而map中的item._2是取出HBase的一行的record。由于HBase中存储的是Bytes,所以record对rowkey做过滤时需要将rowkey转换成string且小于row005,而filter又对cf1和clo1以true的形式过滤出来。下面所带的map的意义在于拿出所需要的列。上图为Spark SQL的API使用使用方式,且可以看出是主要介绍DataFrame层面的API的。首先需要sqlContext.read并配置参数已说明我的HBaseCatalog是什么样的,然后生成一个DataFrame,同样类似于上一个例子,先对rowkey做filter,再对col1做filter,最终筛选出col0和col1,并对结果做一个count。此外,由于HBase的API和Phoenix的API是不一样的,于是Phoinix也做了Spark SQL分析Phoenix表数据的一套插件,其做法和Spark分析HBase的插件是一样的,均是通过实现一套Spark SQL的Datasource,然后做列裁剪、分区裁剪、谓词下推这些优化来提高性能。 未来的工作 关于SQL以及分析,未来计划将为用户做出一款体验更好的产品。该产品的架构为最上层是SQL层,该SQL同其他的分析引擎一样会有Parser、Planner、Qptimizer、Execrtor,但这套SQL会提供两种能力分别为OLTP和OLAP,他的runtime将使用Spark Runtime。同样在HBase底层会提供二级索引以及全文索引来丰富这套SQL的表达能力以及他的性能。在HBase存储层面,HBase原始的存储有Memstore以及HFile,也可能会引入parquet/ORC来提高性能。

优秀的个人博客,低调大师

阿里巴巴瑾谦/沐远:云HBaseSQL及分析——Phoenix&Spark

在2018年1月的数据库直播大讲堂峰会HBase专场,来自阿里云的研发工程师瑾谦和沐远分享了云HBaseSQL以及分析Phoenix&Spark。本文介绍了详细了Phoinix和Spark的架构,适用性以及优缺点,并在最后规划出未来将要设计的一款更符合用户需求的产品。直播视频:https://yq.aliyun.com/video/play/1333PDF下载:https://yq.aliyun.com/download/2457以下是精彩视频内容整理: HBase上的SQL&分析 Hbase上的分析从使用的方式上来分类可以分为NATIVE和SQL两类,而二者均存在小数量简单分析和大数据量复杂分析两种场景。但无论在NATIVE和SQL上做小数据量分析或者大数据量分析均需解决HBASE的一些根本问题,比如HBASE表数据

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册